我正在用python生成一个if-else代码,输出应该是正确的答案,但它正在打印代码的else部分,我不知道为什么
守则:我正在用python生成一个if-else代码,输出应该是正确的答案,但它正在打印代码的else部分,我不知道为什么,python,python-3.x,python-2.7,if-statement,Python,Python 3.x,Python 2.7,If Statement,守则: user_answer = input("What is 8+13=") answer = 21 if user_answer == answer: print("Correct answer!") else: print("Try Again!") 即使输入为21,也会打印代码的else部分。输入函数将输入的文本作为字符串返回,请参见: 如果存在prompt参数,则将其写入标准输出,而不带尾随换行符。然后,函数从输入中读取一行,将其转换为一个字符串,并返回尾随换行符
user_answer = input("What is 8+13=")
answer = 21
if user_answer == answer:
print("Correct answer!")
else:
print("Try Again!")
即使输入为21,也会打印代码的else部分。输入函数将输入的文本作为字符串返回,请参见: 如果存在prompt参数,则将其写入标准输出,而不带尾随换行符。然后,函数从输入中读取一行,将其转换为一个字符串,并返回尾随换行符 然后,代码将字符串21与整数值21进行比较,将字符串与int进行比较的结果将为false 您可以将字符串转换为可以使用的整数值: 但如果无法将输入转换为int值,则会引发错误。或者,将int转换为字符串:
user_answer = input("What is 8+13")
answer=21
if user_answer == str(answer):
print("Correct answer!")
else:
print("Try again!")
例如,如果输入为“21a”,则不会抛出错误的那个或串。当然可以有一个输入验证器。@AntonvBR:是的,谢谢。将在中编辑该内容。
user_answer = input("What is 8+13")
answer=21
if user_answer == str(answer):
print("Correct answer!")
else:
print("Try again!")