0
He asks the first time the desired operation twice after works normal.
print("Calculadora\n")
print("1º Soma")
print("2º Subtração")
print("3º Multiplicação")
print("4º Divisão \n")
resposta = str(input("Qual operação você deseja usar?\n"))
while((resposta !='soma') or (resposta !='subtração') or (resposta !='multiplicação') or (resposta !='divisão')):
print("Digite uma operação válida")
resposta = str(input("Qual operação você deseja usar? \n"))
if resposta == 'soma':
n1 = int(input("Digite o primeiro valor "))
n2 = int(input("Digite o segundo valor "))
resultado = n1+n2
print("A soma de", n1, "+", n2, "é", resultado)
elif resposta =='subtração':
n1 = int(input("Digite o primeiro valor "))
n2 = int(input("Digite o segundo valor "))
resultado = n1-n2
print("A subtração de", n1, "-", n2, "é", resultado)
elif resposta =='multiplicação':
n1 = int(input("Digite o primeiro valor "))
n2 = int(input("Digite o segundo valor "))
resultado = n1*n2
print("A multiplicação de", n1, "*", n2, "é", resultado)
elif resposta =='divisão':
n1 = int(input("Digite o primeiro valor "))
n2 = int(input("Digite o segundo valor "))
resultado = n1/n2
print("A divisão de", n1, "/", n2, "é", resultado)
Yes, you request the operation outside the repeat loop and again at the very beginning of the loop. It was expected to request twice. In fact, the condition you put on
while
will always be true, then your program will loop infinitely independent of the value.– Woss