2015-04-26 55 views
1

我正在製作一個基本的食譜查看器,但我還沒有完成,我遇到的一個問題是,當我將我的食譜追加到列表並打印每個列表時,此錯誤出現在Python shell中;粗體表示用戶輸入如何在Python上打印多個列表

歡迎穆罕默德·伊斯梅爾的配方瀏覽器

添加配方(添加),裝載配方(負載)或者刪除配方(刪除)

添加

輸入食譜編號=

輸入配方名稱= 蛋糕

摘要


配方ID = 1個

食譜蛋糕

保存配方?

...

保存成功與

添加配方(添加),裝載配方(負載)或者刪除配方(刪除)

負載

以下是您現有的配方ID

加載中

[ '1']

按id選擇配方

[( '配方ID =', '1')]

[<function function.<locals>.fileb at 0x105920400>] # this is the error 

回去?或退出


這是我的代碼,請與這個問題,將不勝感激

import time 

currentrecipes = [] 
rp1 = [] 
rp2 = [] 


print("Welcome to Mohamed Ismail's Recipe Viewer") 
time.sleep(1) 

def function(): 
    print('Add Recipe (add), Load Recipe (load) or Delete Recipe (delete)') 
    choice = input() 
    if choice == 'add': 
      a = input('Input recipe id = ') 
      b = input('Input recipe name = ') 
      filea = ("Recipe id =",a) 
      fileb = ("Recipe for =",b) 
      print('') 
      print("Summary") 
      print("------------------") 
      file1 = print("Recipe id =",a) 
      file2 = print("Recipe for",b) 

      def file(): 
       return filea 
      def fileb(): 
       return fileb 
      file() 
      fileb() 
      print('Save Recipe?') 
      userinput = input() 
      if userinput == 'Yes': 
       if a == '1': 
        currentrecipes.append(a) 
        rp1.append(file()) 
        rp2.append(fileb()) 
        print('...') 
        time.sleep(0.5) 
        print("Saved Sucesfully") 
        function() 
       else: 
         print("Choose a recipe id of 1") 
         print("Going back...") 
         time.sleep(2) 
         function() 
      else: 
       function() 
    elif choice == 'load': 
      if currentrecipes == []: 
      print("Error 619: You have no current recipes") 
      function() 
      else: 
      print("Here are your existing recipe id's") 
      print("Loading...") 
      time.sleep(2) 
      print(currentrecipes) 
      option = input("Select Recipe by id ") 
      if option == '1': 
       print(rp1) 
       print(rp2) 
       userchoice = input("Go back? or exit ") 
       if userchoice == 'Go back': 
        function() 
       else: 
         exit()  


    elif choice == 'delete': 
      if currentrecipes == []: 
      print("Error 619: You have no current recipes") 
      function() 
      else: 

       print("Here are your existing recipe id's") 
       print("Loading...") 
       time.sleep(2) 
       print(currentrecipes) 
       option = input("Which recipe do you wish to delete ") 
       if option == '1': 
        if '1' not in currentrecipes: 
         print("Error 404: Recipe is not in saved recipes") 
         function() 
        else: 
         currentrecipes.remove('1') 
         print('Loading...') 
         time.sleep(1) 
         print(currentrecipes) 
         time.sleep(0.5) 
         print("Deleted Succesfully") 

    else: 
      print("Please select one of the 3 options") 
      time.sleep(1) 
      function() 

function() 
+0

預期產量是多少? –

回答

1

幫助假如你期望的輸出是[(「祕方=」,「蛋糕')]當您使用與元組相同的名稱定義函數fileb時,會出現問題。所以,fileb()現在返回一個函數,而不是你想返回的元組。