Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2022 10:34:33

lizzyone
Зарегистрирован: 2022-07-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

Уважаемые форумчане, помогите, пожалуйста, решить задачу!

Необходимо смоделировать игру против лотерейного автомата типа “777”. Игрок платит 1 руб., после чего выпадает случайное целое число, равномерно распределенное от 0 до 999. При некоторых значениях числа игрок получает выигрыш.
Например:
777: 200 руб.
999: 100 руб.
555: 50 руб.
333: 15 руб.
111: 10 руб.


Вопросы:
Выгодна ли игра игроку?
Сколько в среднем приобретает или теряет игрок за одну игру?

Заранее спасибо за помощь!)

Офлайн

#2 Июль 18, 2022 11:53:03

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

 import random
win = {777: 200, 999: 100, 555: 50, 333: 15, 111: 10}
walet = 1_000_000
bet = 1
count = 0
good = 0
bad = 0
xz = []
while walet > 0:
    count += 1
    walet -= 1
    game_ = random.randint(0, 999)
    if game_ in win:
        walet += win[game_]
        xz.append(win[game_])
        good += 1
        print(f'# {count} / win / game {game_} / walet {walet}')
    else:
        bad += 1
        print(f'# {count} / lose / game {game_} / walet {walet}')
print(f'\n{"#" * 70}\nend: bad - {bad}, good - {good} :: count - {count}, xz - {xz}')



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июль 18, 2022 12:00:21)

Офлайн

#3 Июль 18, 2022 12:19:20

Palrom
Зарегистрирован: 2022-04-21
Сообщения: 82
Репутация: +  5  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

lizzyone
Выгодна ли игра игроку?
Сколько в среднем приобретает или теряет игрок за одну игру?
  
from random import randint
WINS = {
    777: 200,
    999: 100,
    555: 50,
    333: 15, 
    111: 10
}
received = 0
spent = 0
while True:
    play = input('Нажмите ENTER чтобы вкинуть монету. Введите "в" для выхода.')
    if play == '':
        current = randint(0, 999)
        print(current)
        if current in WINS:
            print('Вы выиграли!')
            received += WINS[current]
        else:
            spent += 1
        print('Денег выигранно: ', received)
        print('Денег проигранно: ', spent)
        continue
    elif play.lower() == 'в':
        break
    else:
        continue
Зажимаем Enter, и смотрим как утекает бабло.
Дальше можно уже прикрутить проверки типа “соотношение выйгрыш/проигрыш” и т.п.

Отредактировано Palrom (Июль 18, 2022 15:02:24)

Офлайн

#4 Июль 18, 2022 12:26:42

Palrom
Зарегистрирован: 2022-04-21
Сообщения: 82
Репутация: +  5  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

AD0DE412
Тренажёр “Всаживаем лям за полторы минуты”

Офлайн

#5 Июль 18, 2022 15:31:34

lizzyone
Зарегистрирован: 2022-07-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

AD0DE412
спасибо вам большое!)

Офлайн

#6 Июль 18, 2022 15:31:54

lizzyone
Зарегистрирован: 2022-07-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

Palrom
спасибо большое!)

Офлайн

#7 Июль 18, 2022 18:26:29

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

Palrom
Всаживаем лям за полторы минуты


у нас было 2 пакета рублей …



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июль 18, 2022 18:36:02)

Офлайн

#8 Июль 22, 2022 19:42:47

lizzyone
Зарегистрирован: 2022-07-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

Palrom
AD0DE412
подскажите еще, пожалуйста, как записать в WINS/win еще эти цифры?
*77: 5 руб.
**7: 3 руб.
*00: 2 руб.
**0: 1 руб.

Отредактировано lizzyone (Июль 22, 2022 19:44:05)

Офлайн

#9 Июль 22, 2022 20:39:17

Palrom
Зарегистрирован: 2022-04-21
Сообщения: 82
Репутация: +  5  -
Профиль   Отправить e-mail  

Смоделировать игру против лотерейного автомата типа “777”

lizzyone

  
from random import randint
 
WINS = {
    777: 200,
    999: 100,
    555: 50,
    333: 15,
    111: 10
}
 
def check_tail(current):
    if current % 100 == 0:
        return 2
    elif current % 100 == 77:
        return 5
    elif current > 100:
        if current % 10 == 0:
            return 1
        elif current % 10 == 7:
            return 3
    return 0
 
def get_current():
    return randint(0, 999)
 
def main():
    received = 0
    spent = 0
    while True:
        play = input('Нажмите ENTER чтобы вкинуть монету. Введите "в" для выхода.')
        if play == '':
            print(current := get_current())
            if current in WINS:
                received += WINS[current]
            elif tail := check_tail(current):
                received += tail
            spent += 1
            print('Денег выигранно: ', received)
            print('Денег проигранно: ', spent)
            continue
        elif play.lower() == 'в':
            break
 
if __name__ == '__main__':
    main()

AD0DE412
у нас было 2 пакета рублей …

Отредактировано Palrom (Июль 23, 2022 09:58:31)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version