【问题标题】:While loop StringWhile 循环字符串
【发布时间】: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


【解决方案1】:

您的 if 语句应与“answer = input("Who is wonderful?:")" 语句完全相同。如果你不这样做,那么它会给你 IndentationError。

试试下面的代码:

answer = ""
while answer != "Me":
    answer = input("Who is fantastic?: ")
    if answer != "Me":
        print ("Try again mate!")
    else:
        print ("Yo!")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 2015-03-25
    • 1970-01-01
    • 2015-05-21
    • 2011-06-18
    • 1970-01-01
    • 2014-09-25
    • 2017-01-20
    相关资源
    最近更新 更多