У меня есть следующий код:
Код: Выделить всё
import numpy as np
from numpy import random
@np.vectorize
def simulation(_):
numRolls = 0
diff = 0
prevRoll = -999999
while True:
roll = random.randint(1, 7)
print(prevRoll, roll)
numRolls += 1
diff = np.abs(roll - prevRoll)
if diff == 1:
break
else:
prevRoll = roll
return numRolls
Если я удалю декоратор, код будет работать отлично. Но при использовании np.vectorize кажется, что цикл while продолжает выполняться, даже если он достигает разрыва, а затем, когда он снова достигает разрыва, цикл останавливается, что кажется очень странным. Может ли кто-нибудь сказать мне, в чем проблема и какое решение будет? Мне нужно векторизовать функцию, чтобы найти среднее значение.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... while-loop