Задать вопрос
@KoRgYaSh

Почему не работает программа?

Написал программу "Слоты", для проверки взял числа не от 1 до 7, а от 6 до 7. При выпадении 7 7 6, 6 7 7 и 7 6 7, то есть при выпадении двух семерок, печатает не "Вы выиграли" и выигранную сумму, а вы проиграли. Скажите пожалуйста, в чем ошибка.

from random import *
money = float(input('Введите сумму денег которую вы хотите поставить: '))
print('Крутим слоты')
num1 = randint(6, 7)
num2 = randint(6, 7)
num3 = randint(6, 7)
strnum1 = str(num1)
strnum2 = str(num2)
strnum3 = str(num3)
num = strnum1 + ' ' + strnum2 + ' ' + strnum3
print(num)
if num1 == num2 and num1 != num2 != num3 != 7 or num1 == num3 and num1 != num2 != num3 != 7 or num2 == num3 and num1 != num2 != num3 != 7:
    print('Вы выиграли', money * 5)
elif num1 == num2 == num3 != 7:
    print('Джекпот! Вы выиграли', money * 50)
elif num1 == num2 == num3 == 7:
    print('Супер Джекпот! Вы выиграли', money * 100)
else:
    print('Вы проиграли')
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@vadiculus
У вас код противоречит сам себе
if num1 == num2 and num1 != num2

Я предлагаю вам сделать так
num1 = randint(6,7)
num2 = randint(6,7)
num3 = randint(6,7)
numlist = [num1,num2,num3]
wincount = 0
print(num1,' ', num2,' ', num3)

for num in numlist:
    if num == 7:
        wincount +=1

if wincount == 1:
    print('Вы выиграли!', money * 5)
elif wincount == 2:
    print('Джекпот, Вы выиграли!', money * 50)
elif wincount == 3:
    print('Супер Джекпот,Вы выиграли!', money * 100)
else:
    print('Вы проиграли!', money * 5)


(Пытался сказать попроще) Вы создаете список из переменных num1, num2, num3 создаете переменную wincount которая означает сколько раз выпало 7 потом вы создаете цикл for который берет каждую переменную из списка и если переменная равняется 7 то прибавляет один к переменной wincount а потом вы проверяете число wincount и говорите вердикт
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
if num1 == num2 and num1 != num2
Бытовые квантовые компы вроде еще не изобрели. При каких значениях это может быть верным условием?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы