Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/88: Рейтинг темы: голосов - 88, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.09.2022
Сообщений: 12

Рулетка из казино

09.09.2022, 17:02. Показов 21753. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер друзья, я полный новичок в пайтоне и я решил на основе моих текущих знаний написать мини игру на основе рандома (да-да рулетка из казино).
Далеко я не ушёл и практически сразу столкнулся с проблемой, на моменте с ответвлением, там где он должен определить число и продолжить дальше будущий алгоритм возникла проблема.

Если число и вправду больше 17 то он пишет верно, что это число больше 17, но если число меньше 17, то он всё равно пишет, что число больше 17,
я перепробовал все варианты как это исправить на основе моего опыта и знаний - и мне ничего не помогло.


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import random
 
random_number = random.randint(1, 36)
#я искал в инете как мне коротко обозначить интервал числ (в моём случае от 1 до 17) и я нашел такой способ
list1 = list(range(1,17))
 
#это приветствие и одновременно описание моего мини-проекта
print('Добро пожаловать в Casino(v1.0) - Получи всё или останься ни с чем.', end='\n' 
'Правила просты: есть 36 вариантов, пусть A - 17 из них, B - ещё 17, C - оставшиеся 2')
print()
print ('Ещё не запутались? Поехали дальше: у тебя 500 баллов, чтобы победить ты должен набрать 1000,', end='\n'
 'для этого просто делай ставки. Всё понял? Тогда ты будущий миллиардер.')
print('')
print('')
 
 
balli=int(500)
stavka=int(input('Начинаем. У тебя сейчас 500 баллов, сколько ставишь? 100-250-500: '))
 
#вот тут вся попа и началась
if stavka == 100 or 250 or 500:
    if stavka == 100:
        if random_number == (list1):
            print('да - это число от 1 до 17')
            print(f'{random_number}')
        else:
            print('нет - это число больше 17')
            print(f'{random_number}')
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2022, 17:02
Ответы с готовыми решениями:

Зациклить программу и ещё пару нюансов (рулетка из казино)
Предыстория: я продолжаю писать свою рулетку из казино, делаю её не ради чтобы просто сделать, а для получения опыта, новых знаний и...

Сами открываются вкладки казино Вулкан и других казино
Здравствуйте, когда устанавливал браузер Tor Вместе с ним установился браузер "Амиго". Я сразу же удалил все и проверил...

Рулетка!
Задача заключается в том что бы проверить ГСЧ на его идеальность.С этим нам и должна помочь "рулетка". У нас есть 2 цвета красный...

10
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
09.09.2022, 17:12
Цитата Сообщение от Polemarch Посмотреть сообщение
balli=int(500)
кто научил писать инт от числа? целее оно не станет, это уже целое число

Цитата Сообщение от Polemarch Посмотреть сообщение
походу я не умею пользоваться if
да, не умеешь, не понимаешь что условие отдельно проверяется для кажой части азделенной И или ИЛИ, то есть вот это
Цитата Сообщение от Polemarch Посмотреть сообщение
if stavka == 100 or 250 or 500:
означает "если ставка равна сто это Тру ИЛИ 250 это Тру ИЛИ 500 это Тру, то..." и это условие будет выполнено всегда так как 250 это реально Тру.

ты наверное хотел что-то типа
if stavka==100 or stavka==250 or stavka==500:

или еще лучше
if stavka in (100, 250, 500):
3
beginner
 Аватар для Mikail7D6
301 / 213 / 104
Регистрация: 02.08.2022
Сообщений: 348
09.09.2022, 17:22
Цитата Сообщение от Polemarch Посмотреть сообщение
if random_number == (list1):
Здесь (строка 23) нужно заменить оператор == на in, так как число не может быть равно списку, но может в нём находится.
3
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
09.09.2022, 18:22
Начало, примерно, такое дальше нужно самостоятельно докрутить
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from random import randint
 
t = '''
Добро пожаловать в Casino(v1.0) - Получи всё или останься ни с чем!\n
Правила просты: есть 36 вариантов, пусть A - 17 из них, B - ещё 17, C - оставшиеся 2\n
Ещё не запутался? Поехали дальше: у тебя 500 баллов, чтобы победить ты должен набрать 1000,
для этого просто делай ставки. Всё понял? Тогда ты будущий миллиардер!
'''
print(t)
s = 500 # начальная ставка
t = True
 
print('Подсказка: значения ставки и числа вводятся через пробел')
while t:
    a = list(map(int, input('Ваша ставка и число: ').split()))
    r = randint(0, 36) # случайное число
    print('Выпало число -', r)
    if r == a[1]:
        s += a[0]*10    
        print(f'Поздравляем! Вы выиграли {a[0]*10} руб.!\nВаше состояние {s} руб.\n')
    else:
        s -= a[0]
        print(f'Вы не угадали... Ваше число {a[1]}\nВаше состояние {s} руб.\n')
        
    if s <= 0: 
        print(f'У Вас долг {abs(s)} руб.\n\n...надо бы отыграться!')
        t = False
2
09.09.2022, 21:19

Не по теме:

VistaSV30, так баллов или рублей? Какой курс обмена?:)

0
10.09.2022, 08:14

Не по теме:

u235, Это же нашенское казино! :)
Говорим баллы - подразумеваем рубли,
Говорим рубли - подразумеваем баллы!

0
0 / 0 / 0
Регистрация: 09.09.2022
Сообщений: 12
10.09.2022, 08:46  [ТС]
Всем привет, мои проблемы с рулеткой из казино продолжаются. Нужно чтобы программа выдавала ошибку если пользователь делает любую ставку кроме 100 и 250,
вроде звучит не сложно подумал я - и ничего не получилось, если пишу 100 вроде всё нормально, но если поставить 250 выдаёт ошибку, хотя по замыслу не должна.
Напоминаю что я полный новичок и могу не понимать базовых вещей.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from random import randint
 
# приветствие и описание игры
t = '''
Добро пожаловать в Casino(v1.0) - Получи всё или останься ни с чем!\n
Правила просты: есть 36 вариантов, пусть RED - 17 из них, BLACK - ещё 17, GREEN - оставшиеся 2\n
Ещё не запутался? Поехали дальше: у тебя 500 баллов, чтобы победить ты должен набрать 1000,
для этого просто делай ставки. Всё понял? Тогда жди себя на обложке Forbes!
'''
print(t)
 
# начальное количество баллов
balli = int(500) 
 
# вот тут возникла проблема
t = True
s = int(input('Начинаем. Твоя ставка? 100, 250: '))
if s != (100 or 250):
    print('Ошибка: ваша ставка может быть только 100 или 250')
s2 = int(input('На что ставишь? 1-(RED), 2-(BLACK), 3-(GREEN): '))
 
red = list(range(1, 17))
black = list(range(18, 34))
green = list(range(35, 36))
 
# вот тут возможно в будущем возникнет новая проблема)))
while t:
 
         r = randint(0, 36) 
         print('случайное число -', r, '\n')
         if r in red:
            balli = (balli + s)
            print('Поздравляем, ты отгадал число!', '+' ,s, 'баллов. ', '\n' 'Всего баллов:', balli)
         else:
            balli = (balli - s)
            print('Ты не отгадал число..', '-', s, 'баллов. ', '\n' 'Всего баллов:', balli)
            
         t = False
0
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,752
10.09.2022, 08:51
Лучший ответ Сообщение было отмечено Polemarch как решение

Решение

Цитата Сообщение от Polemarch Посмотреть сообщение
if s != (100 or 250):

Так нельзя.

Добавлено через 1 минуту
Python
1
if s  not in (100, 250):
Добавлено через 1 минуту
Python
1
2
print(100 or 250)
>>100
2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
10.09.2022, 11:32
Polemarch, а если начать читать книгу по питону, то проблемы закончатся, ибо там показывают как писать код и что писать не надо. Например не надо писать
Цитата Сообщение от Polemarch Посмотреть сообщение
int(500)
0
0 / 0 / 0
Регистрация: 09.09.2022
Сообщений: 12
10.09.2022, 15:23  [ТС]
Какие лично ты книги посоветуешь для начинающих?
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
11.09.2022, 18:13
Polemarch,

На мой взгляд Поляков К.Ю. один из лучших авторов, пишущих о программировании на русском языке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.09.2022, 18:13
Помогаю со студенческими работами здесь

Рулетка
Здравствуйте. Предположим имеется 1000 строк и имеется цифра 1. В каждую строчку вписыется 1 умноженая на коэф с определеной...

Рулетка
Народ , помогите плиз задачу решить и сделайте алгоритм. В казино в игре &quot;Рулетка&quot; шарик запустили 200 раз. Сколько невыпавших...

Рулетка
Доброго времени суток! Есть рулетка на JS и HTML &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Untitled&lt;/title&gt; &lt;meta...

Рулетка
Игровое поле рулетки поделено на номера от 0 до 36, которые имеют черный, красный. или зеленый цвет. Номер 0 имеет зеленый цвет, для...

Рулетка
Помогите пожалуйста решить задачу )) Надо написать программу моделирующую игру в рулетку,алгоритм красное-черное. Программа должна работать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru