我正在编写这个 python 脚本来创建一个游戏。我目前正在做用户为游戏创建个人资料的部分。每个用户有三个属性——用户名、密码和高分。我已决定最多 10 个用户配置文件(至少目前是这样,因为这是一个考试项目)。在函数调用后打印二维数组时,它不是打印完整的数组
目前我正在使用二维数组,因为我觉得这可能是检查用户名重复的最佳方法(但我可能是错的)。我还计划用这些配置文件制作一个高分排行榜,并认为 2D 数组很可能是最容易通过插入排序来操作的
我在调用 initUser() 函数和 makeProfile() 函数之间添加了用户名,以检查用户名复制功能是否有效
如有任何帮助,我们将不胜感激
这是目前的代码
这是当前的输出(我无法显示完整的二维数组,这很烦人)
鉴于每个用户名必须是唯一的,为什么不使用字典呢?
from pprint import pp
def createUser(current_usernames):
high = 0
while True:
username = input('Please choose a username: ')
if username in (current_usernames, ''):
print(username, 'is unavailable')
continue
else: break
password = input('%s, please choose a password: ' % username)
return username, password, high
def main():
users = {
'dummy': {'high': 0, 'password': None},
'admin': {'high': -1, 'password': 'p@ssw0rd'},
}
# users = {} # empty dictionary
name, word, high = createUser(users.keys())
users[name] = {'high': high, 'password': word}
pp(users)
if __name__ == '__main__': main()