Advertisement
Rnery

Mestre do Python.. SOLID + Clean Code

Dec 29th, 2023
1,229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.66 KB | Source Code | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. def obter_numero(mensagem):
  5.     while True:
  6.         try:
  7.             return float(input(mensagem))
  8.         except ValueError:
  9.             print("Por favor, insira um número válido.")
  10.  
  11. def mostrar_soma(num1, num2):
  12.     return num1 + num2
  13.  
  14. def mostrar_resto(num1, num2):
  15.     return num1 - num2
  16.  
  17. def mostrar_multiplicacao(num1, num2):
  18.     return num1 * num2
  19.  
  20. def exibir_menu():
  21.     return """
  22.    Menu:
  23.    1. Mostrar a soma dos dois números
  24.    2. Mostrar o resto dos dois números (o primeiro menos o segundo)
  25.    3. Mostrar a multiplicação dos dois números
  26.    0. Sair
  27.    """
  28.  
  29. def opcao_invalida():
  30.     print("Opção inválida. Tente novamente.")
  31.  
  32. def sair_programa():
  33.     print("Saindo do programa. Até mais!")
  34.  
  35. # Mapeamento das escolhas para as funções correspondentes
  36. opcoes = {
  37.     1: mostrar_soma,
  38.     2: mostrar_resto,
  39.     3: mostrar_multiplicacao,
  40.     0: sair_programa,
  41. }
  42.  
  43. def main():
  44.     while True:
  45.         try:
  46.             num1 = obter_numero("Digite o primeiro número: ")
  47.             num2 = obter_numero("Digite o segundo número: ")
  48.  
  49.             print(exibir_menu())
  50.  
  51.             escolha = int(input("Escolha uma opção: "))
  52.  
  53.             if escolha in opcoes:
  54.                 resultado = opcoes[escolha](num1, num2)
  55.                 if escolha != 0:
  56.                     print(f"Resultado: {resultado}")
  57.                 else:
  58.                     opcoes[escolha]()
  59.                     break
  60.             else:
  61.                 opcao_invalida()
  62.  
  63.         except ValueError:
  64.             print("Por favor, insira números válidos.")
  65.  
  66. if __name__ == "__main__":
  67.     main()
  68.  
Tags: python python3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement