Как сделать так, чтобы команда 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
→ Ссылка