gpt4 book ai didi

python - 如何使函数从 Python 中的函数外部获取变量?

转载 作者:行者123 更新时间:2023-11-28 21:03:30 25 4
gpt4 key购买 nike

所以我刚刚开始编写代码,询问用户他们想要测试什么主题以及他们希望它有多难,然后,很明显,给他们这个测试。我为 if 语句创建了一个函数来检查它是什么测试以及它应该有多难,我只是做了一个随机的、一次性的函数来测试代码。我将向您展示代码(显然是非常早期的 alpha 并且还远未完成),然后我将解释问题。

def which_test(real_dif, real_test, give_test):
if difficulty == real_dif and test == real_test:
give_test

def easy_CS():
print("HEY")

while True:
test = str(input("What test do you want to take? Computer Science, History or Music? ").strip().lower())
difficulty = str(input("Do you want to take the test in easy, medium or hard? ").strip().lower())
which_test("easy", "computer science", easy_CS())

问题是,无论输入变量是什么,easy_CS() 函数都会被激活。我可以为 test 变量输入“JFAWN”,为 difficulty 变量输入“JDWNA”,它仍然会打印“HEY”。我该怎么做才能让它真正接受变量,或者我怎么才能让它按照预期的方式工作?

最佳答案

这是因为您自己调用这个函数。看到这里的括号了吗?他们调用函数:

which_test("easy", "computer science", easy_CS())
^^^^^^^^^^

你打算做什么:

def which_test(real_dif, real_test, give_test):
if difficulty == real_dif and test == real_test:
give_test() # call the function

# more code...
which_test("easy", "computer science", easy_CS))
# pass the function itself ^^^^^^

因此,没有括号 - 没有函数调用。

关于python - 如何使函数从 Python 中的函数外部获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46412527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com