Я создаю игру, в которой у меня есть список игроков, и когда игра создается, создается список игроков (пользователей). Функция ниже создает игрока со случайными именами пользователей, например, «Player_0tt».
I вместо sh вместо случайных цифр ascii_lowercase + для увеличения каждого пользователя на 1. Таким образом, первый пользователь называется Player_1, Player_2..et c. Я буду добавлять идентификатор игры к имени пользователя, чтобы сделать каждого пользователя игры уникальным, но сейчас я пытаюсь получить 1, 2, 3 ... за своими именами пользователей.
Должен ли я создать новую функцию с приращением или есть ли более разумный способ сделать это?
Создать случайное имя пользователя
def generate_username(length=3, chars=ascii_lowercase + digits, split=7, delimiter='_'):
username = 'Player' + ''.join([choice(chars) for i in range(length)])
if split:
username = delimiter.join([username[start:start + split] for start in range(0, len(username), split)])
try:
User.objects.get(username=username)
return generate_random_username(length=length, chars=chars, split=split, delimiter=delimiter)
except User.DoesNotExist:
return username