Помимо нескольких ошибок программирования, которые я вижу, я считаю, что ваша синтаксическая ошибка заключается в том, что до Endofprogram = input("another one?y/n:")
у вас есть незакрытая скобка в строке print ("Not a valid operator"
Я исправил несколько вещейкак использование min
, которое является зарезервированным ключевым словом в Python, и num1-num1
, это всегда будет 0!Для ввода num1
и num2
вы должны фактически подсказать пользователю, что вводить.Также существует непоследовательное использование прописных и строчных букв e
в Endofprogram/endofprogram
.Использование break
в вашем цикле перед оператором print
означает, что оно никогда не достигнет его.Не говоря уже о том, что оператор print
был излишне отступ.
flag = True
while flag:
num1 = float(input("Input first number: "))
opdracht = input("Input operator: ")
num2 = float(input("Input second number: "))
ans = ""
if opdracht == "+":
ans = num1+num2
elif opdracht == "-":
ans = num1-num2
elif opdracht == "*":
ans = num1*num2
elif opdracht == "/":
ans = num1/num2
elif opdracht != "+""-""*""/":
print ("Not a valid operator")
print("Answer: " + str(ans))
continuePrompt = input("Another one?y/n:")
if continuePrompt.lower() == "n":
print("The end")
flag = False
elif continuePrompt.lower() != "y":
print("Invalid input. I'll continue...")