我是 Python 新手,需要一些帮助。我正在编写一个二十一点程序作为家庭作业,我想我可能让它工作,但每当我运行它时,它都会抱怨我没有为“自我”提供任何东西。我以为我不必?这是完整的代码:
class BlackjackPlayer:
'''Represents a player playing blackjack
This is used to hold the players hand, and to decide if the player has to hit or not.'''
def __init__(self,Deck):
'''This constructs the class of the player.
We need to return the players hand to the deck, get the players hand, add a card from the deck to the playters hand, and to allow the player to play like the dealer.
In addition to all of that, we need a deck.'''
self.Deck = Deck
self.hand = []
def __str__(self):
'''This returns the value of the hand.'''
answer = 'The cards in the hand are:' + str(self.hand)
return(answer)
def clean_up(self):
'''This returns all of the player's cards back to the deck and shuffles the deck.'''
self.Deck.extend(self.hand)
self.hand = []
import random
random.shuffle(self.Deck)
def get_value(self):
'''This gets the value of the player's hand, and returns -1 if busted.'''
total = 0
for card in self.hand:
total += card
if total > 21:
return(-1)
else:
return(self.hand)
def hit(self):
'''add one card from the Deck to the player's hand.'''
self.hand.append(self.Deck[0])
self.Deck = self.Deck[1:]
print(self.hand)
def play_dealer(self):
'''This will make the player behave like the dealer.'''
total = 0
for card in self.hand:
total += card
while total < 17:
BlackjackPlayer.hit()
total += BlackjackPlayer[-1]
print(self.hand)
if self.hand > 21:
return -1
else:
return total
当我运行它时,我得到:
TypeError: get_value() missing 1 required positional arguments: 'self'
我很乐意为您提供帮助,这是我第一次来这里,所以如果我违反了规则或其他什么,我深表歉意。