【发布时间】:2015-01-26 12:04:04
【问题描述】:
这是我第一次使用 stackoverflow 访问——我是编程新手,正在学习 Python 初学者课程。很高兴开始!
我们的第二个任务要求我们创建著名的猜数字游戏。对于那些已经知道这个游戏的人,我希望对添加到其中的额外部分有所帮助:我们必须列出每个猜测及其各自的顺序。示例输出应如下所示:
- 我在想一个整数,你有三个猜测。
- 猜测1:请输入1到10之间的整数:4
- 你的猜测太小了。
- 猜测2:请输入1到10之间的整数:8
- 你的猜测太大了。
- 猜测3:请输入1到10之间的整数:7
- 太糟糕了。数量为:5
我已经将代码简化到出现 Guess 1 和 Guess 3 的位置,但我无法让 Guess 2 出现。我一直在修改和替换每个“while”、“if”、“elif”和“else”命令来解决这个问题,但似乎无法提出解决方案!到目前为止,这是我的代码:
def guess():
print ("I'm thinking of an integer, you have three guesses.")
attempts = 0
from random import randint
number = randint(0,10)
guess = eval(input("Guess 1: Please enter an integer between 1 and 10: "))
while guess != number and attempts == 0:
if guess < number:
print("Your guess is too small.")
break
if guess > number:
print("Your guess is too big.")
break
elif guess == number:
print("You got it!")
attempts = attempts + 1
if number != guess and attempts == 1:
guess = eval(input("Guess 2: Please enter an integer between 1 and 10: "))
if guess < number:
print("Your guess is too small.")
elif guess > number:
print("Your guess is too big.")
while guess == number:
print("You got it!")
attempts = attempts + 1
elif number != guess and attempts == 2:
guess = eval(input("Guess 3: Please enter an integer between 1 and 10: "))
if guess < number:
print("Too bad. The number is: ", number)
elif guess > number:
print("Too bad. The number is: ", number)
while guess == number:
print("You got it!")
此代码输出 Guess 1 然后退出。谁能帮我弄清楚如何让 Guess 2 和 3 出现?欢迎所有想法 - 谢谢!
【问题讨论】:
-
只是一个旁注,你不想使用 eval() 作为输入。如果您将其作为 Web 应用程序运行,则用户可以直接操作服务器。相反,请使用 try & except 和 int(input()) 语句。
-
这个程序不是为 web 应用程序设计的,所以,目前,我并不担心服务器操作。但是谢谢你的提示!
标签: python python-3.x