【发布时间】:2015-10-30 19:21:19
【问题描述】:
所以我创建了一个 while 循环,我想知道为什么即使我输入一个整数而不是一个字符串,它仍然会继续。我希望它会停止工作,因为我将“str”放在 raw_input 前面
我是 Python 新手,所以一些帮助会很棒!
Answer = ""
while Answer != "Me":
Answer=str(raw_input("Who is fantastic? : "))
if Answer != "Me":
print "Try again mate!"
else:
print "Yay!"
【问题讨论】:
-
这是您的实际代码吗?我尝试运行它并得到
IndentationError。 -
“即使我输入的是整数而不是字符串”——在哪里输入整数?
-
为什么不继续?
str(any_integer) != 'Me'将始终评估为True... -
当您输入
Me(更正缩进后)时,您的while循环将停止 -
如果你问“为什么
str(raw_input())在用户输入数字时不会崩溃,比如'42'?”,这是因为没有规定不允许使用字符串包含数字。如果您希望用户输入数字时出现错误,您必须自己检查。
标签: python