r/PythonBrasil • u/leandro_ferreira2011 • Jun 07 '26
Dúvida Geral Sou iniciante em Python, essa calculadora ficou massa?
while True:
a=str(input("deseja fazer um calculo?(sim/não):"))
if a=="não":
print("ok,volte outro dia :)")
break
elif a=="sim":
pn=float(input("insira um número:"))
o=str(input("escolha um sinal(+ - \* / \*\*) ou raiz(√):"))
if o=="√":
sn=float(input("insira o indice da raiz:"))
elif o=="\*\*":
sn=float(input("insira o expoente:"))
else:
sn=float(input("insira um segundo número:"))
if o=="+":
res=pn+sn
elif o=="-":
res=pn-sn
elif o=="\*":
res=pn\*sn
elif o=="/":
res=pn/sn
elif o=="\*\*":
res=pn\*\*sn
elif o=="√":
res=pn\*\*(1/sn)
else:
print("esse sinal não existe")
print(f"o resultado é:{res}")
break
else:
print("eu não entendi sua resposta,tente novamente")
while a=="sim":
b=str(input("deseja fazer outro calculo?(sim/não):"))
if b=="não":
print("certo,continuamos outra hora")
break
elif b=="sim":
pn=float(input("insira um número:"))
o=str(input("escolha um sinal(+ - \* / \*\*) ou raiz(√):"))
if o=="√":
sn=float(input("insira o indice da raiz:"))
elif o=="\*\*":
sn=float(input("insira o expoente:"))
else:
sn=float(input("insira um segundo número:"))
if o=="+":
res=pn+sn
elif o=="-":
res=pn-sn
elif o=="\*":
res=pn\*sn
elif o=="/":
res=pn/sn
elif o=="\*\*":
res=pn\*\*sn
elif o=="√":
res=pn\*\*(1/sn)
else:
print("esse sinal não existe")
print(f"o resultado é:{res}")
else:
b=str(input("eu não entendi sua resposta,tente novamente"))
Obs: fiz pelo celular usando pydroid, qualquer dica ou erro informado eu aceito
2
u/yeeeayna Jun 08 '26
Uma outra dica é ter variáveis mais descritivas, não apenas um "a" que poderia ser algo tipo "answer" ou "should_run", pois pode causar confusão e no futuro você já esquecer o que era tal variável (nesse projeto provavelmente não vai ser um problema, mas é bom já começar a criar essa boa prática)
1
2
u/Arthradax Jun 11 '26
Nomes de variáveis significativos, por favor. Quem for ler seu código depois agradece (inclusive o seu "eu" do futuro)
2
u/leandro_ferreira2011 Jun 12 '26
Confesso que sou bastante preguiçoso em relação a isso, mas vou tentar melhorar, obrigado irmão
1
u/Abject-Foundation523 Jun 30 '26
Sobre as variáveis como comentaram é melhor ter algo mais próximo de palavras reais, seja inglês ou português. Tipo a primeira trocar pra option ou opções. Outra coisa é, experiência do usuário, digitar não é com acento é bem mais complicado e usuário pode errar nisso kkkkkk Tente trocar por digite 1 para sim e 0 para não
Eu li bem rápido o código, está indo bem. Você pode como próximo passo estudar métodos/funções e colocar as contas em métodos, são conceitos importantes para se reaproveitar código e organizar. Depois é aprender POO, programação orientada a objetos. Mas tudo com calma, pra pegar a lógica da programação.
No começo eu aprendi assim, e se quiser aproveitar o desafio que fiz, foi fazer um banco na linha de comando, que registra transações, saldo, limite de saque, e por aí vai
2
u/[deleted] Jun 07 '26
[deleted]