我是Python新手,需要一些帮助。我正在写一个二十一点的程序作为家庭作业,我想我可能会让它工作,但是每当我运行它时,它都会抱怨我没有提供任何“自我”。我以为我没必要?下面是完整的代码:需要的位置参数:self
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'
我会很高兴地感谢所有帮助,这是我第一次来这里,所以我道歉,如果我打破了规则或什么。
当你说“当我运行这个”,你做了什么:3? – TerryA
我从源代码编译Python,所以我输入了./python /blackjack.py – Silbern
您是否创建了该类的实例?即,你是否做过类似'player1 = BlackjackPlayer('params')' – TerryA