你的.lower应该是.lower()。.lower()是一个函数,不带括号调用它不会做任何事情:>>> string = 'No'
>>> string.lower
>>> x = string.lower
>>> x
>>> x = string.lower()
>>> x
'no'
>>>
另外,您正在检查replay == input(...)中的相等性。您只需要一个=来分配:
^{pr2}$
在第二个while True循环中,print replay之后还有一个不需要的:。在
这是一个建议:不要使用replay in ("no, "n"),这是非常不规则的,而是使用内置方法startswith(char),看看它是否以该字符开头:>>> string = "NO"
>>> string.lower().startswith("n")
True
>>> string = "yeS"
>>> string.lower().startswith("y")
True
>>>
这也适用于naw,或{}等输入
以下是您编辑的代码:a = int(input("Enter the first number :"))
b = int(input("Enter the second number :"))
print("sum -" + str(a+b))
print("difference -" + str(a-b))
print("product -" + str(a*b))
print("division -" + str(a/b))
input()
while True:
print("Do you want to try again?")
while True:
replay = input("Do another Calculation? 'y' for yes. 'n' for no.").lower()
print(replay)
if replay.startswith('y') == True:
break
if replay.startswith('n') == True:
exit()
else:
print("I don't understand what you wrote. Please put in a better answer, such as 'Yes' or 'No'")