E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo Python que - Desafio de Programação Resolvido em Python

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

O Sr. João necessita saber o consumo médio de um automóvel, e solicitou para você desenvolver um algoritmo Python que, sendo fornecido a distância total percorrida pelo automóvel e o total de combustível gasto, mostre o consumo do automóvel.

Sua saída deverá ser parecida com:

Distância total (kms): 650
Combustível gasto (litros): 52
O consumo do veículo foi: 12.5 kms/litro
Resposta/Solução:

Veja a resolução 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 ler a distância total em quilômetros
  distancia = float(input("Distância total (kms): "))
    
  # vamos ler o total de combustível gasto em litros
  combustivel_gasto = float(input("Combustível gasto (litros): "))
    
  # agora vamos calcular o consumo do automóvel
  consumo = distancia / combustivel_gasto
    
  # e mostramos o resultado
  print("O consumo do veículo foi: {0} kms/litro".format(consumo))
  
if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Python para iniciantes - Como usar a instrução continue da linguagem Python

Quantidade de visualizações: 7645 vezes
A instrução continue do Python é usada para forçar o interpretador a saltar o restante das instruções da iteração atual do laço e passar para a próxima. Dessa forma, todas as instruções que vierem depois da instrução continue são automaticamente descartadas na iteração atual do laço.

Veja um exemplo de um laço for que imprime apenas os números ímpares de 0 a 10:

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

def main():
  # um laço for que conta de 0 até 10
  for i in range(0, 11):
    # mas queremos apenas os números impares
    if i % 2 == 0:
      continue # descarta os pares. Vamos para a próxima iteração
    # se chegou até aqui é porque o número é impar
    print(i) 
  
if __name__== "__main__":
  main()

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

1
3
5
7
9


Python ::: cmath Python Module (Módulo Python cmath para números complexos) ::: Números Complexos (Complex Numbers)

Como converter um número complexo na forma retangular para a forma polar usando Python

Quantidade de visualizações: 2071 vezes
Quando estamos efetuando cálculos envolvendo números complexos, é comum precisarmos converter da forma retangular para a forma polar, e vice-versa.

Um número complexo na forma retangular apresenta o seguinte formato:

7 + j5


onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia.

O número complexo na forma polar, por sua vez, é composto pelo raio e pela fase (phase), que é o ângulo theta (ângulo da inclinação da hipotenusa em relação ao cateto adjascente).

O raio, representado por r, é o módulo do vetor cujas coordenadas são formadas pela parte real e a parte imaginária do número complexo. A parte real se encontra no eixo das abcissas (x) e a parte imaginária fica no eixo das ordenadas (y).

Veja agora o código Python completo que lê a parte real e a parte imaginária de um número complexo e o exibe na forma polar:

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

# vamos importar o módulo de matemática de números complexos
import cmath

# método principal
def main():
  # vamos ler a parte real e a parte imaginária do
  # número complexo
  real = float(input("Parte real do número complexo: "))
  imaginaria = float(input("Parte imaginária do número complexo: "))

  # constrói o número complexo
  z = complex(real, imaginaria)

  # mostra o valor absoluto na forma polar
  print ("Valor absoluto (raio ou módulo): ", abs(z))
  # mostra a fase do número complexto na forma polar
  print("Fase em radianos: ", cmath.phase(z))
  print("Fase em graus: ", cmath.phase(z) * (180 / cmath.pi))
  
if __name__== "__main__":
  main()

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

Parte real do número complexo: 3
Parte imaginária do número complexo: -4
Valor absoluto (raio ou módulo): 5.0
Fase em radianos: -0.9272952180016122
Fase em graus: -53.13010235415598


Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Passos Iniciais

Plotagem e visualização de dados em Python - Como instalar a biblioteca Matplotlib e testar seu funcionamento

Quantidade de visualizações: 2868 vezes
A biblioteca Matplotlib, escrita originalmente por John D. Hunter em 2003, é um dos pacotes Python mais populares para a plotagem e visualização de dados.

O acesso às funcionalidades da Matplotlib é feito por meio da interface Pylab, que lembra muito o MATLAB, a linguagem de programação proprietária desenvolvida pela MathWorks. Os usuários acostumados com essa ferramenta chegam a afirmar que a biblioteca Matplotlib, combinada com a biblioteca NumPy, pode ser considerada o equivalente open source do MATLAB.

Já tenho o Matplotlib disponível na minha instalação do Python?

Antes de iniciar qualquer projeto que envolva a biblioteca Matplotlib, é importante verificar se a mesma está disponível em sua instalação do Python. Isso pode ser de várias formas. Mostrarei como obter a lista de módulos usando a opção "list" do pip. Basta abrir uma janela de terminal e disparar o seguinte comando:

C:\Users\Osmar>pip list

Você terá um resultado parecido com:

C:\Users\Osmar>pip list
Package           Version
----------------- -------
astroid           2.4.2
colorama          0.4.4
isort             5.6.4
joblib            1.0.0
lazy-object-proxy 1.4.3
mccabe            0.6.1
numpy             1.19.4
pandas            1.1.5
Pillow            8.0.1
pip               20.3.3
pylint            2.6.0
python-dateutil   2.8.1
pytz              2020.4
scikit-learn      0.24.0
scipy             1.5.4
setuptools        49.2.1
six               1.15.0
threadpoolctl     2.1.0
toml              0.10.2
wrapt             1.12.1
wxPython          4.1.1
Uma outra forma é tentando importar o módulo matplotlib. Veja:

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

# importamos a bibliteca Matplotlib
import matplotlib as mp
 
def main():
  # vamos mostrar a versão da biblioteca Matplotlib
  versao = mp.__version__
 
  print("A versão do Matplotlib é:", versao)
 
if __name__== "__main__":
  main()

Se você tiver o Matplotlib instalado, o resultado desse código será algo como:

A versão do Matplotlib é: 3.4.1

Se você não tiver a biblioteca Matplotlib instalada, a seguinte mensagem de erro será exibida:

Exception has occurred: ModuleNotFoundError
File "c:\estudos_python\estudos.py", line 3, in <module>
  import matplotlib as mp
ModuleNotFoundError: No module named 'matplotlib'


Não tenho o Matplotlib ainda. O que faço?

Abra uma janela de terminal e dispare o comando abaixo:

C:\Users\Osmar>pip install matplotlib

Depois de alguns segundos você verá o seguinte resultado:

Collecting matplotlib
Downloading matplotlib-3.4.1-cp39-cp39-win_amd64.whl (7.1 MB)
|-| 7.1 MB 3.3 MB/s
Requirement already satisfied: pillow>=6.2.0 in c:\python_3_9_1\lib\site-packages (from matplotlib) (8.0.1)
Requirement already satisfied: python-dateutil>=2.7 in c:\python_3_9_1\lib\site-packages (from matplotlib) (2.8.1)
Requirement already satisfied: numpy>=1.16 in c:\python_3_9_1\lib\site-packages (from matplotlib) (1.19.4)
Collecting cycler>=0.10
Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Requirement already satisfied: six in c:\users\osmar\appdata\roaming\python\python39\site-packages (from cycler>=0.10->matplotlib) (1.15.0)
Collecting kiwisolver>=1.0.1
Downloading kiwisolver-1.3.1-cp39-cp39-win_amd64.whl (51 kB)
|-| 51 kB 3.8 MB/s
Collecting pyparsing>=2.2.1
Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
|-| 67 kB 1.7 MB/s
Installing collected packages: pyparsing, kiwisolver, cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.1 pyparsing-2.4.7

Obteve resultado parecido? Pronto! Você já pode começar a usar a biblioteca Matplotlib em seus aplicações Python.


Python ::: Tkinter GUI Toolkit ::: Entry

Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()

Quantidade de visualizações: 879 vezes
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set().

No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto.

Veja o código Python completo:

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

# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *

# variáveis globais
caixa_texto_1 = None

# método principal
def main():
  # acessamos a variável global
  global caixa_texto_1
  
  # vamos criar o frame principal da aplicação Tkinter
  janela = Tk()

  # agora definimos o tamanho da janela
  janela.geometry("600x400")

  # criamos uma caixa de texto Entry de linha única
  caixa_texto_1 = Entry(janela, width=40)
  caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10)

  # criamos uma segunda caixa de texto Entry de linha única
  caixa_texto_2 = Entry(janela, width=40)
  caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0)

  # vamos criar um botão Button
  btn = Button(janela, text="Definir Foco", width=20, command=definir_foco)
  btn.grid(column=0, row=2, sticky=W, padx=15, pady=10)

  # entramos no loop da aplicação
  janela.mainloop()  

# função para definir o foco na primeira caixa de texto
def definir_foco():
  # definimos o foco na primeira caixa de texto Entry
  caixa_texto_1.focus_set()

if __name__== "__main__":
  main()



Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em Python - Python para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 5932 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código Python, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código Python que declara uma matriz 2x3 e gera a matriz transposta 3x2:

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

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # como temos uma matriz 2x3, a transposta deverá ser
  # 3x2, ou seja, três linhas e duas colunas
  linhas = np.shape(matriz)[0] # linhas da matriz original
  colunas = np.shape(matriz)[1] # colunas da matriz original
  transposta = np.empty((colunas, linhas)) 
    
  # e agora vamos preencher a matriz transposta
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      transposta[j][i] = matriz[i][j]
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

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

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  


É possível também obter a matriz transposta de um outra matriz usando o método transpose() da biblioteca NumPy da linguagem Python. Veja:

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

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # vamos transpor a matriz usando o método transpose()
  transposta = matriz.transpose() 
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

Ao executar este novo código Python veremos que o resultado é o mesmo.


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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

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


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