Как сделать так, чтобы команда random сделала случайный никнейм?
Мне нужно вместо рандомных значений наподобии hij23 любой ник имеющий всегда гласные,тоисть чтобы был сам никнейм а не каша,заранее спасибо.
print(''.join([random.choice(list('123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM')) for x in range(5)]))
Ответы (3 шт):
Автор решения: MrRob0257
→ Ссылка
Возможно стоит попробовать использовать пары согласная/гласная. Так же можно поэкспериментировать на добавление гласной вначале и согласной в конце.
Автор решения: Zhihar
→ Ссылка
да хоть так:
import random
vowels = 'aeiouy'
consonants = 'bcdfghjklmnpqrstvwxyz'
digits = '01234567890'
symbols = '!@'
size = 7
number_part_size = random.randint(0, size // 2)
part1 = [random.choice(consonants) for i in range(size)]
part2 = [random.choice(vowels) for i in range(size)]
part3 = [random.choice(digits) for i in range(number_part_size)]
login_part = ''.join(obj[0] + obj[1] for obj in zip(part1, part2))
login = login_part[:size - number_part_size] + ''.join(part3)
print(login)
но правила формирования ника всё-таки лучше регламентировать
Автор решения: CrazyElf
→ Ссылка
У меня независимо получилось что-то похожее на то, что у Zhihar и спасибо также MrRob0257 за идею:
import random
def gen_random_nick():
for i in range(random.randint(3, 6)):
if i % 2:
yield random.choice('eyuioa')
else:
yield random.choice('qwrtpsdfghjklzxcvbnm')
for i in range(random.randint(1, 4)):
yield random.choice('1234567890')
for _ in range(10):
print(str.title(''.join(gen_random_nick())))
Вывод:
Jucy12
Teti566
Xiduva546
Mape469
Fijyfu2
Wehora0487
Mov6
Nogan218
Lurux27
Qafis474