@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
@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
Бытовые квантовые компы вроде еще не изобрели. При каких значениях это может быть верным условием?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы