我创造了一个非常简单的文字游戏。您可以一次单词列出一个单词,如果您知道单词可以继续使用下一个单词,或者如果您不知道单词,则可以将其保存到新单词列表中。 只要它正在运行,脚本就可以正常运行,但是一旦我退出游戏,我就会丢失所有已保存的单词,新单词列表将变为空。 我试图使用泡菜,但它没有成功。这是我的代码:
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 :(得分:0)
您需要将项目保存到磁盘并在重新打开程序时重新加载它。
答案 1 :(得分:0)
你在python中的对象(例如你的列表)都是临时的,它们存在于内存中,一旦你退出Python或创建它们的Python程序它们就会消失。
所以请改用 Pickle !
>>> 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"]
为您提供更清晰的信息
你有一个功能def get_item(a_list):
在函数结束时使用
return list_you_need_to_store
然后使用返回的列表按照我给出的代码示例。