Обманите его, создав рекурсивную функцию, которая будет раскручиваться, только если число больше 50.
import numpy as np
def genrandx():
# Using a function allows you do to all sorts of crazy stuff and checks.
x = np.random.randint(1,100)
x = int((x*.5)**2)
if (
(x > 50) and
(x < 1000) and
( (x%3 == 0) or (x%3 == 0) )
):
return x
else:
return genrandx()
numbers = [ genrandx() for x in range(100)]
print("({}){}".format(len(numbers), numbers))
ВЫХОД:
(100)[930, 729, 306, 576, 600, 225, 324, 324, 462, 324, 462, 756, 324, 225, 702, 552, 576, 72, 81, 900, 600, 225, 930, 900, 576, 240, 552, 702, 441, 72, 462, 132, 144, 324, 72, 702, 462, 930, 72, 306, 240, 225, 870, 210, 729, 600, 420, 132, 240, 420, 441, 420, 72, 756, 225, 900, 72, 90, 72, 600, 72, 420, 210, 702, 240, 462, 600, 156, 81, 900, 144, 72, 225, 324, 144, 420, 600, 576, 729, 156, 900, 81, 756, 729, 702, 90, 462, 306, 600, 930, 729, 240, 552, 144, 90, 900, 420, 225, 600, 156]