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