Python 如何在一个函数中使用另一个函数中设置的变量
我很难在一个函数中使用另一个函数中设置的变量。我必须说明我是python新手。我怎样才能做到这一点。提前感谢。有一些错误:Python 如何在一个函数中使用另一个函数中设置的变量,python,Python,我很难在一个函数中使用另一个函数中设置的变量。我必须说明我是python新手。我怎样才能做到这一点。提前感谢。有一些错误: 如果uuu name uuuu==''uuuu main uuuu' 在set\u value 如注释中所述,您返回set\u值中的两个值,但不要使用它们 您必须使用global关键字才能使其正常工作,这在大多数情况下都是一个坏主意 也许你需要一个正确的方法来退出你的程序(比如选择“3”) 试着这样做: def set_values(): cycle_num =
- 如果uuu name uuuu==''uuuu main uuuu'
- 在
set\u value
- 如注释中所述,您返回
中的两个值,但不要使用它们set\u值
- 您必须使用
关键字才能使其正常工作,这在大多数情况下都是一个坏主意global
- 也许你需要一个正确的方法来退出你的程序(比如选择“3”)
def set_values():
cycle_num = input("Cycle Amount: ")
probability = input("Probability: ")
main_menu()
return cycle_num, probability
def display_values(cycle_num, probability):
print(cycle_num)
print(probability)
def main_menu():
user_choice = input("Choose option 1 or 2")
if user_choice == "1":
set_values()
else:
display_values(cycle_num, probability)
if __name__ == main_menu():
main_menu()
有一些错误:
- 如果uuu name uuuu==''uuuu main uuuu'
- 在
set\u value
- 如注释中所述,您在
中返回两个值,但不使用它们set_values
- 您必须使用
关键字才能使其正常工作,这在大多数情况下都是一个坏主意global
- 也许你需要一个正确的方法来退出你的程序(比如选择“3”)
def set_values():
cycle_num = input("Cycle Amount: ")
probability = input("Probability: ")
main_menu()
return cycle_num, probability
def display_values(cycle_num, probability):
print(cycle_num)
print(probability)
def main_menu():
user_choice = input("Choose option 1 or 2")
if user_choice == "1":
set_values()
else:
display_values(cycle_num, probability)
if __name__ == main_menu():
main_menu()
你对这个概念有疑问。调用函数
set_values()
时,您分配了两个变量,并将它们返回到调用它们的原始函数。这部分是正确的
遇到问题的地方是您的主菜单()
函数没有对这些值执行任何操作。因为你不储存它们,它们就消失了。一个简单的解决办法是:
def set_values():
cycle_num = input("Cycle Amount: ")
probability = input("Probability: ")
return cycle_num, probability
def display_values(cycle_num, probability):
print("Cycle Amount: ", cycle_num)
print("Probability: ", probability)
def main_menu():
cycle_num=0
probability=0
while True:
user_choice = input("Choose option 1, 2 or 3")
if user_choice == "1":
cycle_num, probability=set_values()
elif user_choice == "2":
display_values(cycle_num, probability)
else:
break
if __name__ == '__main__':
main_menu()
你对这个概念有疑问。调用函数
set_values()
时,您分配了两个变量,并将它们返回到调用它们的原始函数。这部分是正确的
遇到问题的地方是您的主菜单()
函数没有对这些值执行任何操作。因为你不储存它们,它们就消失了。一个简单的解决办法是:
def set_values():
cycle_num = input("Cycle Amount: ")
probability = input("Probability: ")
return cycle_num, probability
def display_values(cycle_num, probability):
print("Cycle Amount: ", cycle_num)
print("Probability: ", probability)
def main_menu():
cycle_num=0
probability=0
while True:
user_choice = input("Choose option 1, 2 or 3")
if user_choice == "1":
cycle_num, probability=set_values()
elif user_choice == "2":
display_values(cycle_num, probability)
else:
break
if __name__ == '__main__':
main_menu()
我想您可能需要阅读有关变量作用域的内容。-阅读关于返回变量的内容也不会有什么坏处。您正在调用set_values(),它返回两个值,但您没有存储这些值。它们被丢弃了。我支持@ChristopherSchneider的建议,建议您阅读一些内容。感谢您的评论-我之前花了一些时间研究类似的问题,但似乎无法在我的实际代码中使用它们(比我提供的示例复杂得多)@因此,您建议我做什么来存储变量而不是丢弃它们呢?
cycle\u num,probability=set\u values()
-它所需要的只是将返回的值分配给一些变量。但是,要使这项工作正常运行,您需要的不仅仅是这些。请参阅下面的答案。我想您可能需要阅读有关变量作用域的内容。-阅读关于返回变量的内容也不会有什么坏处。您正在调用set_values(),它返回两个值,但您没有存储这些值。它们被丢弃了。我支持@ChristopherSchneider的建议,建议您阅读一些内容。感谢您的评论-我之前花了一些时间研究类似的问题,但似乎无法在我的实际代码中使用它们(比我提供的示例复杂得多)@因此,您建议我做什么来存储变量而不是丢弃它们呢?cycle\u num,probability=set\u values()
-它所需要的只是将返回的值分配给一些变量。但是,要使这项工作正常运行,您需要的不仅仅是这些。请参阅下面的答案。我以前尝试过这个,但它重新运行了选项1,我不希望它这样做。@Matt:抱歉,我没有注意到您没有在代码中循环。现在应该工作得更好了,在我的机器上没问题。ctrl-c什么都不做btw@Matt:在我的计算机上以脚本形式运行。@Matt:这是合乎逻辑的。。。这些值将是未设置的。我以前尝试过这个,但它重新运行了选项1,我不希望它这样做。@Matt:抱歉,我没有注意到您没有在代码中循环。现在应该工作得更好了,在我的机器上没问题。ctrl-c什么都不做btw@Matt:在我的计算机上以脚本形式运行。@Matt:这是合乎逻辑的。。。这些值将是未设置的。Python 3中没有原始输入。
。@Blender:谢谢,忘了我说的话。编辑我的answer@Matt:它“有效”,因为在计算此行时将调用main_menu()
。我不确定使用visual studio社区的python是哪一种,但它不会接受raw_input@Matt更新了答案,现在应该可以使用Python3了(您可能正在使用的是什么)Python 3中没有原始输入。@Blender:谢谢,忘了我说的吧。编辑我的answer@Matt:它“有效”,因为在计算此行时将调用main_menu()
。我不确定使用visual studio社区的python是哪一种,但它不会接受raw_input@Matt更新了答案,现在应该可以使用Python3了(您可能正在使用的是什么)