Skip to main content
 首页 » 编程设计

python之如何在一个函数中使用另一个函数中设置的变量

2025年05月04日24zfyouxi

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()