Todas as questões estão no meu notebook: https://colab.research.google.com/drive/1WQq4ACl2_H5TAWJEGX6YwCCQQf3is-gX?usp=sharing
Questão 1:
def calculadora_divisao():
while True:
try:
print("\n" + "-" * 50)
print("Calculadora de divisão")
print("-" * 50)
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
resultado = num1 / num2
print(f"O resultado da divisão é: {resultado:.2f}")
continuar = input("\nDeseja fazer outra divisão? (s/n): ")
if continuar.lower() != 's':
print("-" * 50)
print("Obrigado por usar a calculadora de divisão!")
print("-" * 50)
break
except ZeroDivisionError:
print("-" * 50)
print("Erro: Divisão por zero não é permitida.")
print("-" * 50)
except ValueError:
print("-" * 50)
print("Erro: Entrada inválida. Por favor, insira números válidos.")
print("-" * 50)
except Exception as e:
print("-" * 50)
print(f"Erro: {e}")
print("-" * 50)
calculadora_divisao()
Questão 2:
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
try:
nome = input("Digite um nome: ")
idade = idades[nome]
print(f"{nome} tem {idade} anos")
except KeyError:
print("Nome não encontrado")
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
try:
nome = input("Digite um nome: ")
nome = nome.strip().capitalize()
idade = idades[nome]
print(f"{nome} tem {idade} anos")
except KeyError:
print("Nome não encontrado")
print(f"Nomes disponíveis: {', '.join(idades.keys())}")
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
nome = input("Digite um nome: ")
idade = idades.get(nome)
if idade is not None:
print(f"{nome} tem {idade} anos")
else:
print("Nome não encontrado")
Questão 3:
def converter_lista_para_float(lista):
try:
nova_lista = []
for i, valor in enumerate(lista):
nova_lista.append(float(valor))
print("Conversão realizada com sucesso!")
return nova_lista
except ValueError as e:
print(f"Erro de valor: {e}")
print(f" O elemento '{valor}' não pode ser convertido para float")
return None
except TypeError as e:
print(f"Erro de tipo: {e}")
print(f" Certifique-se de passar uma lista como parâmetro")
return None
finally:
print("Fim da execução da função")
print("=" * 50)
print("Teste 1: Lista válida")
print("=" * 50)
lista1 = ["10", "20.5", "30.0", "40.75"]
resultado1 = converter_lista_para_float(lista1)
print(f"Resultado: {resultado1}\n")
print("=" * 50)
print("Teste 2: Lista com texto inválido")
print("=" * 50)
lista2 = ["10", "abc", "30.0", "40.75"]
resultado2 = converter_lista_para_float(lista2)
print(f"Resultado: {resultado2}\n")
print("=" * 50)
print("Teste 3: Parâmetro não é lista")
print("=" * 50)
resultado3 = converter_lista_para_float("não sou lista")
print(f"Resultado: {resultado3}\n")