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()
我很难在另一个函数中使用一个函数中设置的变量。我必须说明我是 python 新手。我怎么能让这个工作。提前致谢。
请您参考如下方法:
有一些错误:
- 应该是
if __name__=='__main__' - 在
set_values中调用main_menu()时进行递归 - 如评论中所述,您在
set_values中返回两个值,但不要使用它们 - 您必须使用
global关键字才能使其正常工作,这在大多数情况下是个坏主意 - 也许您需要一种适当的方式来退出您的程序(例如选择“3”)
尝试这样的事情:
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()
