我试图制作一个简单的“猜猜游戏”,但它只是要求输入,就是这样。
这是我的代码:
import random
def guess():
if a == b:
print "Correct!"
n = input("Press 0 to quit or 1 to try again.")
if n == 0:
print ""
if n == 1:
return guess
else:
print "Wrong! "
n = input("Press 0 to quit or 1 to try again.")
if n == 0:
print ""
if n == 1:
return guess
a = random.randint(1,2000)
b = input("Guess a number between 1 and 2000 ")
答案 0 :(得分:9)
您没有调用guess
函数。你应该在最后添加:
guess(a, b)
您应该修改guess
函数,如下所示:
def guess(a, b):
# your code here
这是必要的,因为您需要将值a
和b
传递给guess
函数。否则,a
函数中的b
和guess
没有值(它们只是未定义的局部变量),Python不知道该怎么做。
通过以上操作,您至少可以检查您是否猜对了。但是如果你想重复猜测,你需要更多地修改代码。
作为一个例子,这里是一个有效的猜测游戏的更新版本:
import random
def guess(a):
b = raw_input("Guess a number between 1 and 2000 ")
if a == b:
print "Correct!"
else:
print "Wrong! "
n = raw_input("Press 0 to quit or 1 to try again.")
if n == "0":
print ""
if n == "1":
guess(a)
a = random.randint(1, 2000)
guess(a)
函数guess
现在需要一个整数:需要猜测的整数。在函数内部,我们要求用户输入一个整数,然后将其存储在b
中。然后我们告诉用户猜测是否正确。如果猜测正确,那么函数guess
就会结束。
如果猜测错误,我们会让用户有机会再次尝试。请注意,我们现在正在检查if n == "0":
而不是if n == 0:
,因为n
是字符串,而不是整数。如果用户输入了1
,那么我们再次调用guess
并输出要猜测的整数(a
),然后重新开始。