#python
#python
Вопрос:
Я пытаюсь написать функцию подсчета, чтобы вычислить количество бросков, необходимое для достижения 0. И она возвращает мне случайное целое число для игры в кости 1, как мне заставить ее подсчитывать, сколько раз встречается переменная myroll.
import random
def luckysevens():
mypot = int(input("Please enter the amount of money you want to in the pot: "))
while mypot > 0:
diceroll = random.randint(1, 6)
print(diceroll)
myroll = (diceroll diceroll)
if myroll == 7:
mypot = mypot 4
print("Your roll was a 7 you earned 4$", mypot)
else:
mypot = mypot - 1
print("Your roll was", myroll, "you lost 1$", mypot)
if mypot == 0:
print("Your out of money!")
sum = 0
for count in range(myroll 1):
sum = sum count
print(count)
luckysevens()
Комментарии:
1. с чего начинается mypot?
2. зачем нужен myroll = (diceroll diceroll)? мой бросок никогда не достигнет 7, если это так…
3. Вы хотите посчитать, сколько раз выпало кубиков?
4. mypot — это входные данные, и я пытаюсь подсчитать, сколько раз выпал кубик. В этой программе бросаются два кубика, это причина моего броска. Изначально было 2 разных переменных dice, но я сократил их до 1.
5. Вам нужны две разные переменные кости, поскольку случайную функцию необходимо пересчитать заново 🙂
Ответ №1:
Если вы хотите подсчитать, сколько бросков до завершения цикла, просто добавьте другую переменную счетчика. Я также предполагаю, что вы бросаете пару кубиков, поэтому добавили разные случайные вызовы для каждого из них.
import random
mypot = int(input("Please enter the amount of money you want to in the pot: "))
num_rolls = 0
while mypot > 0:
die_1 = random.randint(1,6)
die_2 = random.randint(1,6)
myroll = die_1 die_2
num_rolls = 1 # count rolls
if myroll == 7:
mypot = mypot 4
print("Your roll was a 7 you earned 4$",mypot)
else:
mypot = mypot - 1
print("Your roll was",myroll,"you lost 1$",mypot)
if mypot == 0:
print("Your out of money!")
print 'Num rolls: {}'.format(num_rolls) # print rolls