import random
# через while
def randint_se(min, max, exc):
number = random.randint(min, max)
while number in exc:
number = random.randint(min, max)
return number
# рекурсивно
def randint_se_r(min, max, exc):
number = random.randint(min, max)
if number in exc:
return randint_se_r(min, max, exc)
return number
В любом случае, без понимания основ типа методов оптимизации или того, что машинка - это метод аппроксимации, хороший проект не сделать.