2017-06-09 16 views
2

非常に簡単な単語ゲームを作成しました。一度に単語リストを1単語ずつ読み、単語が分かれば次の単語を続けることができます。単語が分からない場合は、新しい単語のリストに単語を保存することができます。 スクリプトは実行中は正常に動作しますが、ゲームを終了すると保存されたすべての単語が失われ、新しい単語のリストが空になります。 ピクルスを使用しようとしましたが、うまくいかなかった。ここに私のコードは次のとおりです。単語ゲームの結果を保持できません

my_list = ['cat', 'dog', 'duck', 'tiger', 'puppy'] 
new_word = [] 

def get_item(a_list): 
    ind = 0 
    while ind < len(my_list): 
     confirm_list = ['y', 'Y'] 
     confirm_list2 = ['n', 'N'] 
     confirm_list3 = ['y', 'Y', 'n', 'N'] 
     confirm = input('Type Y to continue or N to quit: ') 
     if confirm in confirm_list: 
      print(my_list[ind]) 
      ind += 1 
      confirm_add = input('Type Y to add this word to New_Word list: ') 
      if confirm_add in confirm_list: 
       new_word.append(my_list[ind - 1]) 
       for item in new_word: 
        print(item) 
      if ind == len(my_list): 
       print('This is the last item.') 
     if confirm in confirm_list2: 
      print('Thanks for playing. See you again.') 
      break 
     if confirm not in confirm_list3: 
      print('Please type Y or N in small or capital letters.') 

get_item(my_list) 

答えて

0

あなたのオブジェクト(例えばリスト)はすべて一時的なもので、彼らはメモリに住んでいると、彼らはすぐにあなたがPythonやそれらを作成したPythonプログラムを終了して離れて行きます。

ピックルを代わりに使用してください!

>>> your_list = ["cat","dog"] 
>>> 
>>> import pickle 
>>> 
>>> with open('your_list.pkl', 'wb') as f: 
... pickle.dump(your_list, f) 
... 

その後、プログラムを終了してもう一度開きます。今のために物事をより明確にするために

>>>import pickle 
>>>with open('your_list.pkl','rb') as f: 
... your_newlist = pickle.load(f) 
... 
>>>your_newlist 
["cat","dog"] 

に入力します

あなたは

return list_you_need_to_store

は、その後、私は与えられているものをフォロー機能使用の終わりに機能def get_item(a_list):
を持っていますこれを使用したコード例としてリストが返されます。

0

あなたがディスクにあなたの項目を保存し、プログラムを再度開いたときに、それをリロードする必要があります。 Pythonで

Try a tutorial

+2

英語の代わりにPythonで同じことを教えてもらえますか? –

+0

また、Pythonがexits_の後にメモリ内のオブジェクトを_Storingに変えて、さまざまな答えや解決策を得ることができます。 – void

関連する問題