创建多个用户配置文件并检查Python中是否有用户名重复的最佳方法

问题描述 投票:0回答:1

我正在编写这个 python 脚本来创建一个游戏。我目前正在做用户为游戏创建个人资料的部分。每个用户有三个属性——用户名、密码和高分。我已决定最多 10 个用户配置文件(至少目前是这样,因为这是一个考试项目)。在函数调用后打印二维数组时,它不是打印完整的数组

目前我正在使用二维数组,因为我觉得这可能是检查用户名重复的最佳方法(但我可能是错的)。我还计划用这些配置文件制作一个高分排行榜,并认为 2D 数组很可能是最容易通过插入排序来操作的

我在调用 initUser() 函数和 makeProfile() 函数之间添加了用户名,以检查用户名复制功能是否有效

如有任何帮助,我们将不胜感激

enter image description here

这是目前的代码

enter image description here

这是当前的输出(我无法显示完整的二维数组,这很烦人)

python multidimensional-array
1个回答
0
投票

鉴于每个用户名必须是唯一的,为什么不使用字典呢?

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()
© www.soinside.com 2019 - 2024. All rights reserved.