Python - наверное глупый вопрос (возможно про рекурсию, а может и нет)

я довольно таки еще новичек в python и программировании в целов и возможной мой вопрос будет глупым, но решения я так и не нашел.

Для примера взял общий список имен, также есть рандомные имена которые сравниваются с общим списком. Если такоего имени в общем списке еще нет, оно туда запишется (но проблема не в этом). Проблема в том что если такое имя уже есть в общем списке то его нужно перерандомить и опять проверить на наличие, если вдруг оно не изменилось то опять перерандомить и так до тех пор пока оно не изменится, после чего отправить на добавление в общий список (реализация добавления пока не требуется)

Не знаю понятно ли обьяснил в чем проблема, комментариями в коде постарался также передать суть.

Пожалуйста не придерайтесь к самой задаче, если есть критика насчет самого кода буду рад узнать что то новое.

import random

#Общий список имен
list_name = ["Вася", "Петя", "Коля", "Дима"]

#Имена для рандомайзера
list_random = ["Олег", "Коля"]

#Случайно выбирает одно имя из списка list_random
def generation_random():
    random_index = random.randint(0,len(list_random)-1)
    return list_random[random_index]
name_one = generation_random()
print(name_one)


#Сравнивает случайно выбраное имя из общим списком имен
def name_check():
    if name_one in list_name:
        print("такое имя уже существует")
        #Если имя уже существует, нужно его перерандомить и опять проверить на наличие функцией name_check() 
        #Если оно не поменялось то опять перерандомить, а если поменялось то отправить в else
    else:
        print("такого имени нет")
        #тут ничего писать не надо, интересует только если "такое имя уже существует"
name_check()

Ответы (1 шт):

Автор решения: Namerek

Я так понимю имелось ввиду что-то такое?

import random

list_name = ["Вася", "Петя", "Коля", "Дима"]

list_random = ["Олег", "Коля"]

def name_check():
    while (name_one := random.choice(list_random)) in list_name:
        print(f"имя {name_one} уже существует")

    list_name.append(name_one)

    print(f'Имя {name_one} добавлено')

name_check()
→ Ссылка