Найти - Пользователи
Полная версия: Смоделировать игру против лотерейного автомата типа “777”
Начало » Python для новичков » Смоделировать игру против лотерейного автомата типа “777”
1
lizzyone
Уважаемые форумчане, помогите, пожалуйста, решить задачу!

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


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

Заранее спасибо за помощь!)
AD0DE412
 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}')
Palrom
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
AD0DE412
Тренажёр “Всаживаем лям за полторы минуты”
lizzyone
AD0DE412
спасибо вам большое!)
lizzyone
Palrom
спасибо большое!)
AD0DE412
Palrom
Всаживаем лям за полторы минуты


у нас было 2 пакета рублей …
lizzyone
Palrom
AD0DE412
подскажите еще, пожалуйста, как записать в WINS/win еще эти цифры?
*77: 5 руб.
**7: 3 руб.
*00: 2 руб.
**0: 1 руб.
Palrom
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 пакета рублей …
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB