2017-01-05 4 views
-1

私はブラックジャックアルゴリズムを作りたいと思います。私はいつもエラーが発生しますが、NameError:name 'pointCoint'というエラーは定義されていません。私は、私が使用しているPythonバージョン3.6のためにraw_inputを入力に変更する必要があることをインターネット上で知っていました。誰かが私を助けて、私のコードを見て、何かが欠けているかどうかを知ることができますか? dealerCount = pointCoint(ディーラー) NameError:名 'pointCointは' あなたはpointCount(...)と呼ばれる関数ではなく、pointCointを作成しているNameError:name ''が定義されていませんPython

おかげ

+0

あなたのインデントを修正は、エラーが発生している場所を示す、最小限の例にダウンあなたのコードを取り除きます。 –

+0

このコードには多くのエラーがありますが、 "pointCoint"という名前はありません。どのラインでエラーが発生しますか? – Marvo

+0

line 49、dealerCount = pointCoint(ディーラー) – userpython1

答えて

0

が定義されていません。 pointCointpointCountに変更してください。

完全なコード:

from random import shuffle 

def deck(): 
    deck = [] 
    for suit in ['H', 'D', 'S', 'C']: 
     for rank in ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K']: 
      deck.append(suit+rank) 
    shuffle(deck) 
    return deck 

def pointCount(myCards): 
    myCount = 0 
    aceCount = 0 
    for i in myCards: 
     if(i[1] == 'J' or i[1] == 'Q' or i[1] == 'K' or i[1] == 'T'): 
      myCount += 10 
     elif(i[1] != 'A'): 
      myCount += int(i[1]) 
     else: 
      aceCount += 1 

    if(aceCount == 1 and myCount >= 10): 
     myCount += 11 
    elif(aceCount != 0): 
     myCount += 1 

    return myCount 

def createPlayingHands(myDeck): 
    dealerHand = [] 
    playerHand = [] 
    dealerHand.append(myDeck.pop()) 
    dealerHand.append(myDeck.pop()) 
    playerHand.append(myDeck.pop()) 
    playerHand.append(myDeck.pop()) 

    while(pointCount(dealerHand) <= 16): 
     dealerHand.append(myDeck.pop()) 

    return [dealerHand, playerHand] 

game = "" 
myDeck = deck() 
hands = createPlayingHands(myDeck) 
dealer = hands[0] 
player = hands[1] 

while(game != "exit"): 
    dealerCount = pointCount(dealer) 
    playerCount = pointCount(player) 
    print("Dealer has:") 
    print(dealer[0]) 

    print("Player1, you have:") 
    print(player) 

    if(playerCount == 21): 
     print("Blackjack Player wins") 
     break 
    elif(playerCount > 21): 
     print("player Busts with " + str(playerCount) + "points") 
     break 
    elif(playerCount > 21): 
     print("Dealer Busts with " + str(dealerCount) + "points") 
     break 

    game = input("What would you like to do? M: Hit me, S: Stand? ") 

    if(game == 'H'): 
     player.append(myDeck.pop()) 
    elif(playerCount > dealerCount): 
     print("Player wins with " + str(playerCount) + "points") 
     print("Dealer has: " + str(dealer) + "or" + str(dealerCount) + "points") 
     break 
    else: 
     print("Dealer wins") 
     print("Dealer has: " + str(dealer) + "or" + str(dealerCount) + "points") 
     break 
関連する問題