Почему часть моего кода без причины запускается только несколько раз? ⇐ Python
Почему часть моего кода без причины запускается только несколько раз?
Я только начал изучать Python и пытался написать очень простую версию игры Блэк Джек. Кажется, что код работает нормально, за исключением того, что иногда он просто останавливается после печати «Теперь дилер движется» без сообщения об ошибке или причины.
из случайного выбора импорта, выбор запросчик импорта новая_игра = Истина пока новая_игра: карты = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] player_hand = выбор (карты, k = 2) Dealer_hand = выбор (карты, k = 2) player_sum = сумма (игрок_рука) дилер_сум = сумма (дилер_рука) печать (игрок_рука) печать (dealer_hand) print(f"Ваши карты: {player_hand} со счетом {player_sum}.") print(f"Первая карта дилера — {dealer_hand[0]}.") print("\nТеперь ты ходишь первым.") player_end = Ложь пока не player_end: other_round = input("Введите 'y', чтобы сдать еще одну карту, введите 'n', чтобы пройти: ").lower() если else_round == 'y': player_hand.append(выбор(карты)) player_sum = сумма (игрок_рука) если player_sum > 21 илиother_round == 'n': player_end = Истина print(f"Ваша последняя рука — {player_hand} со счетом {player_sum}.") еще: print(f"Теперь ваша рука — {player_hand}, а текущий счёт — {player_sum}.") если player_sum > 21: print("К сожалению, вы перешли. Вы проиграли") еще: print('\nТеперь дилер движется.') дилер_энд = Ложь пока не дилер_энд: если дилер_сумма < 17: дилер_hand.append(выбор(карты)) Dealer_sum = сумма (игрок_рука) еще: дилер_конец = Истина print(f"Последняя рука дилера — {dealer_hand} со счетом {dealer_sum}.") если сумма_игрока > сумма_дилера: print("Вы выиграли!") elif player_sum == Dealer_sum: print("Ничья") еще: print("Вы проиграли.") other_game = input("\nХотите начать новую игру? Введите «y», чтобы начать, и «n», чтобы выйти. ") если другая_игра == 'n': new_game = Ложь еще: печать("\n") Я пробовал запустить его несколько раз, но до сих пор не вижу четкой закономерности, когда он перестанет работать.
Может ли кто-нибудь помочь мне обнаружить ошибку?
Я только начал изучать Python и пытался написать очень простую версию игры Блэк Джек. Кажется, что код работает нормально, за исключением того, что иногда он просто останавливается после печати «Теперь дилер движется» без сообщения об ошибке или причины.
из случайного выбора импорта, выбор запросчик импорта новая_игра = Истина пока новая_игра: карты = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] player_hand = выбор (карты, k = 2) Dealer_hand = выбор (карты, k = 2) player_sum = сумма (игрок_рука) дилер_сум = сумма (дилер_рука) печать (игрок_рука) печать (dealer_hand) print(f"Ваши карты: {player_hand} со счетом {player_sum}.") print(f"Первая карта дилера — {dealer_hand[0]}.") print("\nТеперь ты ходишь первым.") player_end = Ложь пока не player_end: other_round = input("Введите 'y', чтобы сдать еще одну карту, введите 'n', чтобы пройти: ").lower() если else_round == 'y': player_hand.append(выбор(карты)) player_sum = сумма (игрок_рука) если player_sum > 21 илиother_round == 'n': player_end = Истина print(f"Ваша последняя рука — {player_hand} со счетом {player_sum}.") еще: print(f"Теперь ваша рука — {player_hand}, а текущий счёт — {player_sum}.") если player_sum > 21: print("К сожалению, вы перешли. Вы проиграли") еще: print('\nТеперь дилер движется.') дилер_энд = Ложь пока не дилер_энд: если дилер_сумма < 17: дилер_hand.append(выбор(карты)) Dealer_sum = сумма (игрок_рука) еще: дилер_конец = Истина print(f"Последняя рука дилера — {dealer_hand} со счетом {dealer_sum}.") если сумма_игрока > сумма_дилера: print("Вы выиграли!") elif player_sum == Dealer_sum: print("Ничья") еще: print("Вы проиграли.") other_game = input("\nХотите начать новую игру? Введите «y», чтобы начать, и «n», чтобы выйти. ") если другая_игра == 'n': new_game = Ложь еще: печать("\n") Я пробовал запустить его несколько раз, но до сих пор не вижу четкой закономерности, когда он перестанет работать.
Может ли кто-нибудь помочь мне обнаружить ошибку?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pandas представляет терминаторы строк через to_csv без причины или причины
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Pandas представляет терминаторы строк через to_csv без причины или причины
Anonymous » » в форуме Linux - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Удаленная проверка не работает/не запускается/не вызывается/не попадает без причины
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему фон запускается, когда размер моего экрана достигает ширины моего контейнера и внизу?
Anonymous » » в форуме CSS - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-