Você está aqui: Python ::: wxPython ::: wxFrame

Como usar a classe wx.Frame para criar um objeto window top-level (janelas top-level) em aplicações wxPython

Quantidade de visualizações: 8836 vezes
Um objeto window top-level é um widget (geralmente um frame) que não está contido em nenhum outro widget na aplicação. É o que o usuário geralmente aponta e diz "Este é o programa". O objeto window top-level é geralmente a janela principal de sua aplicação e contém widgets (controles) e objetos de interface com os quais o usuário interage. Desta forma, a aplicação é encerrada quando todas as janelas top-level são fechadas.

Sua aplicação deve ter no mínimo um objeto window top-level. O objeto window top-level geralmente é uma subclasse de wx.Frame, embora ele possa também ser uma subclasse de wx.Dialog. Na maioria das vezes, definiremos subclasses customizadas de wx.Frame para usar em nossas aplicações.

Contudo, há um grande número de subclasses pré-definidas de wx.Dialog que fornecem muitos dos diálogos típicos que poderíamos encontrar em uma aplicação.

A classe wx.Frame é derivada de: wx.TopLevelWindow, wx.Window, wx.EvtHandler e wx.Object.

Link para compartilhar na Internet ou com seus amigos:

Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular a Força Normal Adimensional ou Força Normal Reduzida de um pilar em Python - Python para Estruturas de Concreto Armado

Quantidade de visualizações: 200 vezes


A Força Normal Adimensional de um pilar, também chamada de Força Normal Reduzida, é representada pela letra grega ν (ni) e nos dá uma idéia da magnitude da força normal que está sendo aplicada na seção transversal de um pilar.

A fórmula para o cálculo da Força Normal Adimensional pode ser representada da seguinte forma:

\[\nu = \frac{N_\text{sd}}{A_\text{c} \cdot \frac{f_\text{ck}}{\gamma _\text{c}}} \]

Onde:

ν é a Força Normal Adimensional sem unidade;

Nd é a força normal de projeto, em kN.

fck é a resistência característica do concreto em kN/cm2. Para converter de Mpa para kN/cm2 nós só precisamos dividir por 10.

γc é o fator de ponderação do concreto e, em geral, possui o valor 1,4. Ao dividirmos o fck pelo γc nós chegamos ao fcd, que é resistência de cálculo do concreto.

Note que o valor encontrado para a força normal adimensional ν (ni) é o valor que, junto com o μ (mi), forma a dupla de fatores para o ábaco de VENTURINI que nos retornará o valor de ω (ômega) que nos ajudará a calcular a área de aço (As) do pilar.

Há duas considerações importantes em relação à Força Normal Adimensional ν de um pilar:

a) Se &#957; < 0,30 -> pode ser adequado reduzir a seção transversal do pilar.

b) Se &#957; > 1,30 -> pode ser conveniente aumentar a seção transversal do pilar.

Agora vamos ver o código Python? Note que pediremos para o usuário informar as dimensões do pilar nas direções x e y em centímetros, a carga total no pilar em kN e o fck do concreto em Mpa e retornaremos o valor da força normal adimensional:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # agora vamos obter o FCK do concreto em MPa
  fck = float(input("Informe o FCK do concreto (em MPa): "))
  # vamos converter MPa para kN/cm2
  fck = fck / 10

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy

  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy
 
  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # vamos fixar o fator de ponderação do concreto em 1.4
  yc = 1.4

  # e agora calculamos a força normal adimensional do pilar
  fna = Nd / (area * (fck / yc))

  # e mostramos o resultado
  print("\nA Força Normal Adimensional do pilar é: {0}".format(round(fna, 2)))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35
Informe o FCK do concreto (em MPa): 30

A Força Normal Adimensional do pilar é: 0.72


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Python - Escreva um programa Python para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array

Quantidade de visualizações: 1719 vezes
Pergunta/Tarefa:

Dado o seguinte vetor de inteiros:

# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
Escreva um programa Python para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos declarar e construir um vetor de 8 inteiros
  valores = [0, 3, 0, 5, 7, 4, 0, 9]
    
  # vamos mostrar o vetor na ordem original
  print("Vetor na ordem original:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
  # vamos inicializar j como 0 para que ele aponte para
  # o primeiro elemento do vetor
  j = 0
    
  # agora o laço for percorre todos os elementos do vetor,
  # incrementanto a variável i e deixando o j em 0
  for i in range(len(valores)):
    # encontramos um valor que não é 0
    if(valores[i] != 0):
      # fazemos a troca entre os elementos nos índices
      # i e j
      temp = valores[i]
      valores[i] = valores[j]
      valores[j] = temp
      # e avançamos o j para o elemento seguinte
      j = j + 1
    
  # agora mostramos o resultado
  print("\n\nVetor com os zeros deslocados para o final:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
if __name__== "__main__":
  main()

Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.


Python ::: Dicas & Truques ::: Data e Hora

Como adicionar dias à uma data em Python usando a função timedelta() da classe datetime

Quantidade de visualizações: 8922 vezes
Nesta dica mostrarei como é possível usar o método timedelta() da classe datetime do Python para adicionar um determinado número de dias a uma data. O truque aqui é fornecer apenas o dia para o método timedelta(), obter o resultado e somá-lo com a data que já temos.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import datetime

# função principal do programa
def main():
  # dias a serem adicionados
  quant_dias = 2
 
  # Obtém a data de hoje
  hoje = datetime.date.today()
  print("Hoje é:", hoje)
 
  # Adiciona dias à data
  dias = datetime.timedelta(days=quant_dias)
  hoje = hoje + dias
 
  # Exibe o resultado
  print("Daqui à", quant_dias, "dias será", hoje)
 
if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

Hoje é: 2021-03-11
Daqui à 2 dias será 2021-03-13


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 30 usuários muito felizes estudando em nosso site.