Você está aqui: Python ::: Dicas & Truques ::: Livros, E-books, Apostilas e Cursos

E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas

Quantidade de visualizações: 182 vezes


Domine lógica de programação e a linguagem Python usando o nosso E-Book 650 Dicas e Truques de Python. Trata-se de um PDF com 1.200 páginas para você estudar onde e quando quiser. Todos os códigos estão em português e comentados linha a linha para que você, em pouco tempo, adquira todo o conhecimento necessário para se tornar um(a) programador(a) experiente em Python.

Este e-book contém anotações, dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, internet, arquivos e diretórios, Pandas, Pygame, Matplotlib, exercícios resolvidos, programação orientada a objetos e muito mais.

Adquira pelo WhatsApp +55 (062) 98553-6711 (Osmar) ou diretamente pelo Mercado Pago (PIX, cartão de crédito, boleto, etc).

Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Exercício Resolvido de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table

Quantidade de visualizações: 2325 vezes
Exercícios Resolvidos de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table

Pergunta/Tarefa:

Dadas duas palavras p1 e p2, escreva um código Python que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez.

Para esta solução você deverá, obrigatoriamente, usar um dicionário Python, ou seja, um objeto dict. O objetivo é construir duas tabelas de frequências dos caracteres de cada palavra. Dicionários em Python são similares às tabelas hash (hash tables) em outras linguagens de programação.

Seu programa deverá exibir a seguinte saída:



Resposta/Solução:

Veja a resolução com código comentado em Python:

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

# método que recebe duas palavras e retorna
# verdadeiro se uma palavra for anagrama da
# outra
def anagramas(palavra1, palavra2):
  # o primeiro passo é verificar se os comprimentos das duas
  # palavras são iguais
  if(len(palavra1) != len(palavra2)):
    return False 

  # agora criamos dois dictionaries para as frequencias de
  # cada uma das palavras
  freq_p1 = {}
  freq_p2 = {}

  # agora registramos as frequências de letras na primeira
  # palavra
  for letra in palavra1:
    # a letra já está no dicionário?
    if letra in freq_p1:
      freq_p1[letra] += 1 # aumenta a frequêcia desta letra
    else:
      freq_p1[letra] = 1 # ainda não estava no dicionário

  # agora registramos as frequências de letras na segunda
  # palavra
  for letra in palavra2:
    # a letra já está no dicionário?
    if letra in freq_p2:
      freq_p2[letra] += 1 # aumenta a frequêcia desta letra
    else:
      freq_p2[letra] = 1 # ainda não estava no dicionário 

  # registradas as frequências de letras das duas palavras,
  # chegou a hora de compararmos os dois dicionários
  for chave in freq_p1:
    # esta chave não está no segundo dicionário ou
    # possui valores diferentes?
    if chave not in freq_p2  or freq_p1[chave] != freq_p2[chave]:
      return False 
  
  # se chegou até aqui então uma palavra é anagrama da outra
  return True 

def main():
  # vamos ler duas palavras e verificar se uma é anagrama da outra
  palavra1 = input("Informe a primeira palavra: ")
  palavra2 = input("Informe a segunda palavra: ")

  # vamos chamar o método que faz a verificação
  if(anagramas(palavra1, palavra2)):
    print("As duas palavras são anagramas")
  else:
    print("As duas palavras não são anagramas")

if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Matemática e Estatística

Como resolver uma equação do segundo grau em Python - Como calcular Bhaskara em Python

Quantidade de visualizações: 2299 vezes
Como resolver uma equação do 2º grau usando Python

Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem Python.

Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita.

Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0.

Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente.

Como resolver uma equação do 2º grau

Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns:

a) Fórmula de Bhaskara;
b) Soma e produto.

O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa.

Como resolver uma equação do 2º grau usando Bhaskara

Como nosso código Python vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja:

\[\Delta =b^2-4ac\]

Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades:

a) Se determinante > 0, então a equação possui duas soluções reais.
b) Se determinante = 0, então a equação possui uma única solução real.
c) Se determinante < 0, então a equação não possui solução real.

Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara:

\[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\]

Vamos agora ao código Python. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:

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

# importamos a bibliteca Math
import math

def main():
  # vamos pedir para o usuário informar os valores dos coeficientes
  a = float(input("Valor do coeficiente a: "))
  b = float(input("Valor do coeficiente b: "))
  c = float(input("Valor do coeficiente c: "))
  # vamos calcular o discriminante
  discriminante = (b * b) - (4 * a * c)
    
  # a equação possui duas soluções reais?
  if(discriminante > 0):
    raiz1 = (-b + math.sqrt(discriminante)) / (2 * a)
    raiz2 = (-b - math.sqrt(discriminante)) / (2 * a)
    print("Existem duas raizes: x1 = {0} e x2 = {1}".format(raiz1, raiz2))
  # a equação possui uma única solução real?
  elif(discriminante == 0):
    raiz1 = raiz2 = -b / (2 * a)
    print("Existem duas raizes iguais: x1 = {0} e x2 = {1}".format(raiz1, raiz2))  	
  # a equação não possui solução real?
  elif(discriminante < 0):
    raiz1 = raiz2 = -b / (2 * a)
    imaginaria = math.sqrt(-discriminante) / (2 * a)
    print("Existem duas raízes complexas: x1 = {0} + {1} e x2 = {2} - {3}".format( 
      raiz1, imaginaria, raiz2, imaginaria))

if __name__== "__main__":
  main()

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

Valor do coeficiente a: 1
Valor do coeficiente b: 2
Valor do coeficiente c: -3
Existem duas raizes: x1 = 1.0 e x2 = -3.0


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercícios Resolvidos de Python - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sênior

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

Escreva um programa Python que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras:

a) De 5 a 7 anos - Infantil;
b) De 8 a 10 anos - Juvenil;
c) De 11 a 15 anos - Adolescente;
d) De 16 a 30 anos - Adulto;
e) Acima de 30 anos - Sênior.

Sua saída deverá ser parecida com:

Informe sua idade: 19
Sua categoria é Adulto
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)
----------------------------------------------------------------------

# vamos solicitar a idade do nadador
idade = int(input("Informe sua idade: "))
     
# vamos verificar a categoria do nadador
if ((idade >= 5) and (idade <= 7)):
  print("Sua categoria é Infantil")
elif ((idade >= 8) and (idade <= 10)):  
  print("Sua categoria é Juvenil")  
elif ((idade >= 11) and (idade <= 15)):
  print("Sua categoria é Adolescente") 
elif ((idade >= 16) and (idade <= 30)):
  print("Sua categoria é Adulto")  
elif (idade > 30):
  print("Sua categoria é Sênior")  
else:
  print("Não pertence a nenhuma categoria.")



Vamos testar seus conhecimentos em Python

Qual é a forma correta de se criar funções em Python?

A) defun calcular():

B) def calcular():

C) void calcular():

D) def calcular(){}

E) function calcular():
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Perda de carga

Perda de carga é a energia dissipada em forma de calor devido ao atrito e à viscosidade em uma canalização.

Nesse sentido, a perda de carga unitária em um tubo de 50mm de diâmetro, coeficiente de atrito de 0,031 e comprimento de 100m, sendo que a água escoa com vazão de 0,01 m3/s, é de:

A) 0,47m/m.

B) 0,52m/m.

C) 0,74m/m.

D) 0,82m/m.

E) 0,94m/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

# cria uma string
palavra = "ESTUDAR"
letras = ['A', 'B', 'C']
letras[0], letras[2] = palavra[3], palavra[1]
print(letras)

A) ['T', 'B', 'S']

B) Um erro TypeError: 'tuple' object does not support item assignment

C) ['B', 'A', 'C']

D) ['U', 'B', 'S']

E) Um erro TypeError: 'str' object is not callable
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

Uma das primeiras etapas ao desenvolver um projeto estrutural é a concepção estrutural. Nessa etapa, é necessário estimar a dimensão dos elementos estruturais e o pré-dimensionamento com base na NBR 6118/2014.

O engenheiro Thiago foi convidado para pré-dimensionar um pilar intermediário de concreto armado.

A seguir, os cuidados tomados por ele:

I. O pilar intermediário foi calculado com base na força atuante centrada.

II. No pilar intermediário, não foi calculado o momento de 2ª ordem.

III. O pilar foi calculado como pilar de canto.

Thiago procedeu corretamente em:

A) I, apenas.

B) I e II, apenas.

C) II, apenas.

D) I e III, apenas.

E) II e III, apenas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

A alvenaria é das mais antigas técnicas de construção. É também das mais ricas e variadas. Assinale abaixo a opção que não corresponde às "unidades de alvenaria", ou seja, às peças que não constituem a formação da alvenaria:

Selecione a resposta:

A) Tijolos cerâmicos maciços.

B) Blocos de pedra.

C) Blocos de concreto.

D) Tijolos cerâmicos vazados.

E) Peças de madeira.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e 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



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