Я просмотрел Python Docs(возможно, я неправильно понял), но я не увидел способа сделать это (см. ниже) без вызова рекурсивной функции.
Что я хотел бы сделать, так это сгенерировать случайное значение, которое исключает значения в середине.
Другими словами,
Давайте представим, что я хотел, чтобы X
было случайным числом, не входящим вдиапазон (a - b, a + b)
Могу ли я сделать это при первом проходе,
или
1. Нужно ли мне постоянно генерировать номер,
2. Проверьте, есть ли в range()
,
3. Промыть полоскание?
Что касается того, почему я не хочу писать рекурсивную функцию,
1. мне кажется, что мне не нужно
2. набор чисел, для которого я это делаю, может оказаться довольно большим, и
... Я слышал, что переполнение стека - это плохо, и, возможно, я просто слишком осторожен в этом.
Я уверен, что есть хороший, Pythonic, нерекурсивный способ сделать это.