В настоящее время я пишу игру в блэкджек, используя python 2.7. как часть игрового процесса приложения я определил новую функцию под названием player_turn()
, в которой мне потребовался пользовательский ввод, который приводил бы к различным сценариям в зависимости от ввода («нажатие» дало бы игроку другую карту, а «удержание» завершите ход игрока и передайте его дилеру. В противном случае возникнет ошибка по настройке)
def player_turn():
if sum(player_card_numbers) < 21:
user_decision = input('would you like to hit or hold?')
if user_decision == 'hit':
player_cards.append(deck.draw())
print player_cards, dealer_cards
player_turn()
elif user_decision == 'hold':
print "Dealer's turn!"
dealer_turn()
else:
print "player must choose 'hit' or 'hold'"
player_turn()
elif sum(player_card_numbers) == 21:
print "Blackjack!"
dealer_turn()
else:
print "Player Burnt! \nDealer's turn!"
dealer_turn()
Стоит отметить, что код изначально был написан на python 3.7, а позже был изменен. код отлично работал с 3.7.
Теперь я получаю эту ошибку:
NameError: name 'hit' is not defined
Мне бы хотелось получить несколько советов о том, как решить эту проблему, а также объяснить, почему это произойдет. :)