-1
I made a calculator in Python as a practical exercise, I didn’t use functions or research anything, I just did what I know. I would like to know if the code is good, even without the use of functions (after I will use also to practice :D). if you can help me tell me if it’s clean code, well-commented and easy to understand. I am still learning and I would like to know if I am on the right path. I thank you very much already!
# Calculadora 1.0
# importa a função sleep() para criar pausas
from time import sleep as sl
# Da start no programa - OK
while True:
while True:
try:
rodar = int(input("Deseja iniciar o programa? [1- sim 2- não] : "))
break
except:
print("Erro: Você deve digitar um número")
sl(2)
continue
# caso sim - OK
if rodar == 1:
Roda = True
break
sl(2)
# caso não - OK
elif rodar == 2:
print("\nBeleza então!")
Roda = False
break
sl(2)
# verifica erro - OK
elif rodar != 1 or rodar != 2:
print("Erro: Opção inválida, tente novamente!")
sl(2)
continue
# Loop principal - OK
while Roda:
# Entrada de dados - OK
while True:
try:
pn = float(input("Primeiro número: "))
sn = float(input("Segundo número: "))
break
except:
print("Erro: você deve digitar um número!")
sl(2)
continue
# Loop de operções com os números passados - OK
sim = True
while sim:
# testa se o usuario inseriu mesmo um número - OK
while True:
try:
print("""
Qual operração matemática você gostaria de realizar?
1- soma
2- subtração
3- divisão
4- multiplicação
5- sair
""")
opc = int(input(">: "))
break
except:
print("Erro: valor inválido tente novamente!")
sl(2)
continue
# Saída de dados/Programa - OK
# soma - OK
if opc == 1:
soma = pn + sn
print(f"\n{pn} + {sn} = {soma}")
# subtração - OK
elif opc == 2:
sub = pn - sn
print(f"\n{pn} - {sn} = {sub}")
# divisão - OK
elif opc == 3:
div = pn / sn
print(f"\n{pn} / {sn} = {div}")
# multiplicação - OK
elif opc == 4:
mult = pn * sn
print(f"\n{pn} x {sn} = {mult}")
# sair do programa - OK
elif opc == 5:
print("Até a próxima!")
exit()
# Erro - OK
else:
print("Erro: Você deve escolher uma das opções disponíveis!")
sl(2)
continue
# verifica se o usuario ainda vai usar os mesmos números - OK
while True:
while True:
try:
esc = int(input("Deseja realizar mais alguma operação com estes números [1- sim 2- não] : "))
break
except:
print("Erro: escolha apenas entre as duas opções!")
sl(2)
continue
# caso sim - OK
if esc == 1:
sim = True
break
sl(2)
# caso não - OK
elif esc == 2:
print("\nBeleza então!")
sim = False
break
sl(2)
# verifica erro - OK
elif esc != 1 or esc != 2:
print("Erro: Opção inválida, tente novamente!")
continue
# Testa se o usuario ainda quer usar o programa
while True:
while True:
try:
rodar = int(input("\nDeseja continuar no programa? [1- sim 2- não] : "))
break
except:
print("Erro: Você deve digitar um número!")
sl(2)
continue
# caso sim - OK
if rodar == 1:
Roda = True
break
sl(2)
# caso não - OK
elif rodar == 2:
print("\nAté a próxima!")
Roda = False
break
sl(2)
# verifica erro - OK
elif rodar != 1 or rodar != 2:
print("Erro: Opção inválida, tente novamente!")
continue
I forgot to mention that I did everything in Google Colab, so I did not put any code that cleans the terminal. There is no way :(
– GABRIELs
Book: Clean Code. Your code is not legal no bro. It could have some methods there to avoid code rethought, among other things.
– David
The part of the methods I quoted in the question, I did without using the functions only as practical test.
– GABRIELs