调用函数不起作用
Call to function not working
我正在尝试制作一个简单的 Python "Higher or lower" 游戏,用户想出一个 1 到 100 之间的数字,然后计算机尝试猜测它。对于每个猜测,用户键入 'H'、'L' 或 'C'(分别为 "Higher"、"Lower" 或 "Correct")。计算机的第一个猜测总是 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 的新手,一段时间以来我一直在努力理解函数。我哪里错了?
你的 guess_c
很好 运行,但请注意你 'returning' 是一个值。相反,只需将其打印在 if 块内。像这样:
def guess_c():
win = "I WON!"
if h_l_c == "c":
print win
当您调用 guess_c
时,您将返回 win
,但不会打印您的字符串:
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
字符串不会写入标准输出。
我正在尝试制作一个简单的 Python "Higher or lower" 游戏,用户想出一个 1 到 100 之间的数字,然后计算机尝试猜测它。对于每个猜测,用户键入 'H'、'L' 或 'C'(分别为 "Higher"、"Lower" 或 "Correct")。计算机的第一个猜测总是 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 的新手,一段时间以来我一直在努力理解函数。我哪里错了?
你的 guess_c
很好 运行,但请注意你 'returning' 是一个值。相反,只需将其打印在 if 块内。像这样:
def guess_c():
win = "I WON!"
if h_l_c == "c":
print win
当您调用 guess_c
时,您将返回 win
,但不会打印您的字符串:
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
字符串不会写入标准输出。