Срабатывает условие просто так 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

→ Ссылка