我试图制作一个简单的Python游戏"更高或更低"用户认为1到100之间的数字,并且计算机试图猜测它。对于每个猜测,用户键入' H' L'或' C' (对于"高等","低"或者"分别纠正")。计算机的第一次猜测始终为50.以下是代码:
first_guess = 50
print("I guess {}".format(first_guess))
h_l_c = input("Higher, lower, or correct?: ").strip().lower()
def guess_c():
win = "I WON!"
if h_l_c == "c":
return win
guess_c()
所以无论如何,我跑了这个,我得到了:
I guess 50.
Higher, lower, or correct?:
然后我输入c。现在,据我所知,因为h_l_c
已被定义为"c"
,所以函数guess_c()
应该运行,Python应该执行该函数并打印"I WON!"
。不幸的是,没有任何事情发生。
我对Python很陌生,而且我一直在努力理解功能。我哪里错了?
答案 0 :(得分:2)
您的guess_c
运行良好,但请注意您正在“返回”某个值。相反,只需在if块中打印即可。像这样:
def guess_c():
win = "I WON!"
if h_l_c == "c":
print win
答案 1 :(得分:1)
当您致电win
并且不打印字符串时,您将返回guess_c
:
first_guess = 50
print("I guess {}".format(first_guess))
h_l_c = input("Higher, lower, or correct?: ").strip().lower()
def guess_c():
win = "I WON!"
if h_l_c == "c":
print(win) # Change return win with print(win)
guess_c() # or print(guess_c())
您未打印guess_c()
来电返回的结果,您只是返回win
,因此win
字符串不会写入stdout。