Я хотел бы выполнить al oop в al oop, но когда я пытаюсь это сделать, я ловлю неправильный расчет по сравнению с единственным l oop.
Мой код с единственным l oop, который работает:
betresult = []
#main parameters
budget = 1500
numofbets = 100
win = 7.5
loss = -15
for i in range(numofbets):
#random list: 1 - win, 0 - loss
test = np.random.choice(np.arange(0, 2), p=[0.333, 0.667])
betresult.append(test)
#number of win and loss
winbets = np.sum(betresult)
lossbets = numofbets - winbets
#sum of win and loss
winsum = winbets * win
losssum = lossbets * loss
#final sum
result = budget - (winsum + losssum)
print(result)
И я хотел бы поместить этот код в новый l oop, но если я сделаю что-то явно с while
или for
, я поймаю неправильный расчет.
С единичным l oop Я обычно получаю one number between 1100 and 1800
.
Код с неправильным расчетом:
betresult = []
#main parameters
budget = 1500
numofbets = 100
win = 7.5
loss = -15
for i in range(10):
for j in range(numofbets):
#random list: 1 - win, 0 - loss
test = np.random.choice(np.arange(0, 2), p=[0.333, 0.667])
betresult.append(test)
#number of win and loss
winbets = np.sum(betresult)
lossbets = numofbets - winbets
#sum of win and loss
winsum = winbets * win
losssum = lossbets * loss
#final sum
result = budget - (winsum + losssum)
print(result)
С двойным l oop Я обычно получаю a number under 0
. И чем больше диапазон al oop, тем больше число меньше 0.
Пример неправильного выполнения (расчета):
1470.0
7.5
-1590.0
-3007.5
-4447.5
-5910.0
-7440.0
-8835.0
-10410.0
-11985.0