Python: игра «Счастливые семерки» (среднее количество бросков костей)

#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