2014-03-29 27 views
0

實現此目的的最佳方式是什麼 - 在菜單上重用用戶輸入? 這裏是我下面的示例代碼:Python - 重用菜單上的用戶輸入

def input(): 
    user = raw_input('user: ') 
    passwd = getpass.getpass('passwd: ') 
    return (user,passwd) 

def function1(): 
    user, passwd, vcenter = input() 
do something 

def function2(): 
    user, passwd, vcenter = input() 
do something 

def function3(): 
    user, passwd, vcenter = input()  
    do something 

def main(): 
    while True: 
     if choice == 1: 
      function1() 
     elif choice == 2: 
      function2() 
     elif choice == 3: 
      function3() 
     else: 
      print 'Choose from the options only!' 
     break 
+1

我真的不明白你在問什麼,但我有一種感覺,你的問題太廣泛了。這個網站通常關注的問題比「什麼是實施xyz的最佳方式?」更具體。 – DaoWen

+0

正如@DaoWen所說,請縮小你的問題,最好提供最終結果應該是什麼樣的僞代碼。 – sshashank124

回答

0

我覺得我得到你的意思,你要使用的輸入()曾經在while循環,而不是重複調用它的每一個功能。如果是的話,我建議這個解決方案:

def input(): 
    user = raw_input('user: ') 
    passwd = getpass.getpass('passwd: ') 
    return (user,passwd) 

def function1(param): 
    user, passwd = param 
    do something 

def function2(param): 
    user, passwd = param 
    do something 

def function3(param): 
    user, passwd = param 
    do something 

def main(): 
    while True: 
     if choice in [1,2,3]: 
      param = input() 
     if choice == 1: 
      function1(param) 
     elif choice == 2: 
      function2(param) 
     elif choice == 3: 
      function3(param) 
     else: 
      print 'Choose from the options only (1, 2, 3): ' 
     break 

希望這可以幫助。