моя цель: реализовать функцию roll_dice в hog.py. Он принимает два аргумента: положительное целое число, называемое num_rolls (которое представляет собой количество выполняемых бросков кубиков), и функцию кубиков (функция, имитирующая результат одного броска кости). Он возвращает количество очков, набранных при броске кубиков такое количество раз за ход: либо сумма результатов, либо 1.
Возвращает 1, если любой из результатов игры в кости равен 1.
Когда я отлаживаю в PyCharm, он говорит, что current_roll = 2, current_value = 4, num_rolls = 5 и total_sum = 4. Это наводит меня на мысль, что он прошел через l oop только один раз, поскольку current_roll должен быть 5 поскольку num_rolls равно 5. Кроме того, поскольку total_sum - это только current_value. Я пробовал перемещаться по назначению переменных, но ничего не помогло.
Может ли кто-нибудь дать мне какие-либо указания относительно того, почему моя функция не зацикливается, пока current_roll не станет
def roll_dice(num_rolls, dice=six_sided):
current_roll = 1
total_sum = 0
current_value = dice()
while current_roll < num_rolls:
current_roll += 1
if current_value == 1 or total_sum == 1:
return total_sum == 1
else:
total_sum = total_sum + current_value
return total_sum
это то, что мой код обновлен до сих пор:
total_sum = 0
current_roll = 0
while current_roll < num_rolls:
current_roll += 1
current_value = dice()
if current_value == 1 or total_sum == 1:
total_sum = 1
return total_sum
else:
total_sum += current_value
return total_sum
Я обновил свой код, но он все еще не проходит. Я добавил функцию dice () в while l oop и изменил общую сумму = 1. Вы хоть представляете, почему она все еще не проходит?