これは私のブラックジャックのゲームであり、私はそれを実行するたびに、私はこのエラーを取得:ブラックジャックの試合にはエラーがありますか?
Traceback (most recent call last):
File "...", line 42, in <module>
mydeck = deck()
File "...", line 9, in deck
deck.append(suit+rank)
TypeError: Can't convert 'int' object to str implicitly
(私は、ファイルの場所と名前を取った)
なぜこの私はわからないんだけど起こっている。誰かが助けてくれますか?ありがとう!
# Blackjack Game
import random
def deck():
deck = []
for suit in ['H','S','D','C']:
for rank in ['A',2,3,4,5,6,7,8,9,10,'J','Q','K']:
deck.append(suit+rank)
random.shuffle(deck)
return deck
def pCount(cards):
count = 0
aceCount = 0
for i in cards:
if(i[1] == 'J' or i[1] == 'Q' or i[1] == 'K' or i[1] == 10):
count += 10
elif (i[1] != 'A'):
count += int(i[1])
else:
aceCount += 1
if aceCount == 1 and count >= 10:
count += 11
elif aceCount != 0:
count += 1
return count
def playingHands(deck):
dealerhand = []
playerhand = []
dealerhand.append(deck.pop())
dealerhand.append(deck.pop())
playerhand.append(deck.pop())
playerhand.append(deck.pop())
while pCount(dealerhand) <= 16:
dealerhand.append(deck.pop())
return [dealerhand, playerhand]
game = ""
mydeck = deck()
hands = playingHands(dck)
dealer = hands[0]
player = hands[1]
while game != 'exit':
dealerCount = pCount(dealer)
playerCount = pCount(player)
print ('Dealer has: ')
print (dealer)
print ('Player, you have: ')
print (player)
if playerCount == 21:
print ('Blackjack! Player wins!')
break
elif playerCount > 21:
print ('Player busts! With '+playerCount+' points. Dealer wins!')
break
elif dealerCount > 21:
print ('Dealer busts! With '+dealerCount+' points. Player wins!')
break
game = input('What would you like to do? H: hit, S: stand? ')
if game == 'H':
player.append(deck.pop())
elif playerCount > dealerCount:
print ('Player wins with ' + playerCount + ' points')
print ('Dealer has ' + dealer + ' or ' +dealerCount + ' points')
break
else:
print ('Dealer wins!')
print ('Dealer has ' + dealer + ' or ' +dealerCount + ' points')
。 。 。 。 。 。 。 。 。 .. 。 。 。 。 。 。 。
.. 。 。 。 。 。 。 。
なぜ最後に変なドットのthats?また、printと関数の引数の間に空白を入れないでください。 – Lucas