Срабатывает условие просто так python
Начал сегодня учить Python, подскажите пожалуйста, в чем ошибка? Не срабатывает ни одно из условий
import random
money = 1000
while money > 0:
s = int(input("Ставка:"))
money -= s
r = random.randint(0, 14)
print(r)
v = int(input("1 - красное \n 2 - черное \n 3 - зеро"))
if v == 3 and r == 0:
print("Ставка выиграла")
money += s*5
print("Ваш баланс: "+ str(money))
print("1")
else:
if v == 2 and (r > 0 and r < 8):
print("Ставка выиграла")
money += s*2
print("Ваш баланс: "+ str(money))
print("1")
else:
if v == 1 and r > 8:
print("Ставка выиграла")
money += s*2
print("Ваш баланс: "+ str(money))
print("1")
Ответы (1 шт):
Автор решения: MaxLevs
→ Ссылка
Во-первых, здесь есть реакция только на "выигрышные" комбинации.
Во-вторых, стоит проверить отступы.
Во-третьих, зачем-то использованы вложенные if. Don't repeat yourself!
Вот возможный вариант написания.
if (v == 3 and r == 0):
print("Ставка выиграла")
money += s*5
elif (v == 2 and (r > 0 and r < 8) or v == 1 and r > 8):
print("Ставка выиграла")
money += s*2
else:
print("Ставка проиграла!")
print("Ваш баланс: "+ money)
UPD: добавил money += s*2