Повторяется цикл , хотя ввожу разные значения.

Егор

Новичок
Пользователь
Май 17, 2020
1
0
1
Когда ввожу значение choice, то программа не останавливается, а повторяется заново, помогите пожалуйста)
ОС Windows
Python 3.8.3


import random
from colorama import init
from colorama import Fore, Back, Style

init()

print(Style.BRIGHT)

while True:
start = input('Нажмите Enter что бы начать, для выхода введите \'gg\' \n')
start = start.lower()
if start != 'gg':
deck = [6, 7, 8, 9, 10, 2, 3, 4, 1] * 4
count = 0
croupier_count = 0

deck.reverse()
random.shuffle(deck)

print(Back.BLUE)
print(Fore.YELLOW)
print('Добро пожаловать в игру 21!: ')
print(Fore.RESET)
print(Back.RESET)
while True:

choice = input('У вас {} очков, что бы взять карту напишите - \'да\' или \'yes\'. \n A если хотите остановиться напишите \'no\'или \'нет\' : '.format(count))
choice = choice.lower()

if choice == 'yes' or 'да':
current = deck.pop()
count += current
print('Вам выпала карта достоинством {}'.format(current))
if count > 21:
print(Fore.RED + 'Вы перебрали!')
print('У вас {} очков.'.format(count))
print(Fore.RESET)
break
else:
print('У вас {} очков, крупье берет карту: '.format(count))
break
while (count > croupier_count or count == 0) and count <= 21:
if count > croupier_count:
croupier_current = deck.pop()
croupier_count += croupier_current
print('Крупье взял еще и ему выпало {}, у крупье {}'.format(croupier_current, croupier_count))
else:
print('Крупье не захотел брать карту.')
break
if (count < croupier_count <= 21) and count != 0 and croupier_count != 0:
print(Fore.RED + 'Вы проиграли!')
print('У вас {}, у крупье {}'.format(count, croupier_count))
print(Fore.RESET)
break
elif (count == croupier_count) and count <= 21 and croupier_count <= 21:
print(Fore.MAGENTA + 'Ничья!, у вас {} и столько же у крупье. '.format(count))
print(Fore.RESET)
break
elif croupier_count < count <= 21:
print(Fore.GREEN + 'Вы выиграли, набрав {} очков'.format(count))
print(Fore.RESET)
break
elif croupier_count > 21 and count <= 21:
print(Fore.GREEN + 'Вы выиграли!')
print('Крупье перебрал!')
print('У вас {} очков'.format(count))
print(Fore.RESET)
break
elif count > 21 and croupier_count <= 21:
print(Fore.RED + 'Вы проиграли!')
print('У вас перебор!')
print('У вас {} очков'.format(count))
print(Fore.RESET)
break
elif count > 21 and croupier_count > 21:
print(Fore.RED + 'Крупье и вы перебрали')
print('У вас {} очков, у крупье {}.'.format(count, croupier_count))
break
else:
break
print('quit')
 

Vlad_SD

Активный пользователь
Пользователь
Апр 7, 2020
91
45
18
добрый день, оформите код правильно (три точки на панели инструментов --> код --> python)
 

Форум IT Специалистов