[英]Beginner: While loop not functioning properly, syntax errors, displays nothing
我正在通过一些Looping练习,尤其是While语句。 以下是说明:
2.2)修改程序,使其每次询问用户是否要再次猜测。 使用两个变量,数字表示数字,答案用于回答问题是否要继续猜测。 如果用户猜测正确的数字或回答“否”,程序将停止。 (换句话说,只要用户未回答“否”并且未猜到正确的数字,程序就会继续运行。)
这是我的代码:
#!usr/bin/env python
#
#While statement
number = 24
while number != 24:
answer = raw_input("Guess my lucky number! Do you want to keep guessing?")
if number == 24:
print "You got it! That is great!"
elif answer == "no":
print "Thank you for playing."
else:
print "That is not the right answer! Try again."
当我在IDLE中运行模块时,That的结尾引号很棒!”-变为红色并表示语法无效。在终端中,如果我运行$ python while.py没有加载。我尝试将其编写为带有print的Python 3函数(“”),但它仍然无法运行。
感谢任何可以帮助您的人。
永远不会输入while循环,因为条件number != 24
永远不会成立。 这就是为什么没有输出的原因。
您的循环永远不会执行,因为您声明数字= 24,然后紧接着,仅当数字!= 24时您的while循环才会开始。
另外,raw_input将产生一个字符串,而不是一个int,因此要求输入“ 24”或将raw_input强制转换为int。
看来,您实际上并没有给用户提供任何机会来猜测这个数字。 您只问用户是否想继续玩。
您可能想要执行以下操作:
number = 24
answer = ""
while answer != str(number):
answer = raw_input("Guess my lucky number, or type 'no' to quit.")
if answer == "no":
print "Okay, see you later"
break
elif answer != str(number):
print "wrong number"
if answer == str(number):
print "you got it right"
这是语法问题:
answer = ""
while answer != "24":
answer = raw_input("Guess my lucky number! Do you want to keep guessing?")
if answer == "24":
# You can fill in the rest ...
好吧,我不想直接为您解决问题,而是在while循环中查看您的条件。 在运行时逐行考虑会发生什么,尤其是在“ number”变量中。
其他答案正在解决这个问题,但还有更多...
是的,您确实应该在循环中检查答案变量,而不是数字变量,但还要记住,raw_input将为您提供一个字符串。 因此,您将不会获得整数24,而将获得字符串“ 24”。 这里的想法是从raw_input中获取答案变量,并根据您的数字和值“ no”检查该变量
数字=“ 24”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.