実現したいこと
表示されたリストの中からコマンドを選択し、コマンドがリストにあれば入力されたコマンドを返り値として戻したい。
発生している問題
book_listメソッドを定義しリストを作成し、定義したinput_itemメソッドで入力したchosen_itemが返らずエラーになる
エラー文
Traceback (most recent call last): File "test.py", line 99, in <module> chosen_book = input_item(bl) File "test.py", line 81, in input_item chosen_item = input() File "<string>", line 1, in <module> NameError: name 'AddressBook03' is not defined
該当のソースコード
import os import glob def book_list(bl): Book_list = glob.glob("Address_Books/*.csv") for p in Book_list: bookname = os.path.splitext(os.path.basename(p))[0] print(bookname) bl.append(bookname) def input_item(list): counter = 0 print(list) while counter < 3: chosen_item = input() print(chosen_item) if chosen_item == quit: print('<< Process stopped >>') exit() elif chosen_item in list: return chosen_item else: print('Choose from => ') for item in list: print(item) counter += 1 print('<< Too much missing, Try again >>') exit() bl = [] book_list(bl) chosen_book = input_item(bl) print("< " + chosen_book + " >")
book_listの返り値
1['AddressBook01', 'AddressBook02', 'AddressBook03']
試したこと
AddressBook02という変数またはクラスが定義されていないために発生していると言われているがわからない
もしわかる方がいらっしゃいましたらご回答お待ちしております
回答1件
あなたの回答
tips
プレビュー