繁体   English   中英

字典创建者(Python 3.x)

[英]Dictionary creator (Python 3.x)

与其手动输入我想在文字游戏中使用的所有怪物,不如构建一个程序以通过IDLE自动添加到字典中。 我的问题是如何收集和保存我在IDLE中添加的新怪物。 有没有一种方法可以制作将信息写入记事本的程序? 我在寻找相似的答案,却什么也没看到。 但是我不一定知道正确的术语。 谢谢!

"""
Dictionary of indexed "monsters" for text game
"""
### Premade dictionary
mondic =  {1:'dragon',
           2:'angry gnome vigilante',
           3:'Donald Trump',
           4:'lambhorn rider',
           5:'bone cancer'}
print(mondic)
check = 'yes'
x = 5
### Create new monsters
while check == 'yes':
    print('Do you want to create a monster?')
    check = str(input('yes/no '))
    if check == 'no':
        break
    new_monster = str(input('New monster name: '))
    x += 1
    mondic[new_monster] = x
print(mondic)

首先,您不需要为此使用字典。 因为您只是将名称存储在索引中,所以列表更适合于此问题。 您将需要这样的代码:

monlist = ['dragon', 'angry gnome vigilante', 'Donald Trump', 'lambhorn rider', 'bone cancer']
while check == 'y':
    check = input('Do you want to create a monster? (y/n): ')
    if check == 'n':
        break
    new_monster = input('New monster name: ')
    monlist.append(new_monster)

然后将这些写入文件:

fv = open("filename.txt", 'w') # 'w' for write
for monster in monlist:
    print(monster, file=fv)
fv.close() # close the file

并阅读:

monlist = []
open("filename.txt", 'w')
for line in fv:
    monlist.append(line)
fv.close()

请参阅文档以获取更多信息。 请记住,还有其他读取和写入数据的方法,并且随着您进一步深入项目,您可能会发现需要编写自己的类或实际使用字典。 然后,您可能需要序列化数据,使用json编码或找到其他保存/读取数据的方法。 祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM