python3の勉強中(写経中)にエラーが発生し、先に進めなくなってしまいました。下記、原因箇所を追ってみましたが、バグ解消には至りませんでした。解消方法がありましたら、ご教示願います。
下記、コードになります。
import random
RANK,SUIT = 0,1
def get_point(hand):
result = 0
ace_flag = False
for card in hand:
if card[RANK] == 1:
ace_flag = True
if card[RANK] > 10:
num = 10
else:
num = card[RANK]
result = result + num
if ace_flag and result <= 11:
result += 10
return result
#print_player_hand関数
def print_player_hand(player_hand):
print("プレイヤー(",get_point(player_hand),");")
for card in player_hand:
print("[",card[SUIT],card[RANK],"]")
print()
#print_dealer_hand関数
def print_dealer_hand(dealer_hand,uncovered):
if uncovered:
print("ディーラー(",get_point(dealer_hand),"):")
else:
print("ディーラー(??):")
flag = True
for card in dealer_hand:
if flag or uncovered:
print("[",card[SUIT],card[RANK],"]")
flag = False
else:
print("[ * * ]")
print()
def make_deck():
#スート(記号)の定義
suits = ["S","H","D","C"]
#ランク(数字)の定義
ranks = range(1,14)
deck = [(x,y) for x in ranks for y in suits]
#シャッフルする
random.shuffle(deck)
return deck
def main():
turn = 1
player_money = 100
while player_money > 0:
deck = make_deck()
#print(deck)
print("ターン:",turn)
print("所持金:",player_money)
#プレイヤーの手札を格納するリスト
player_hand = []
#ディーラーの手札を格納するリスト
dealer_hand = []
#デッキの作成
deck = make_deck()
#print(deck)
#お互いに2枚ずつ引く
for i in range(2):
#デッキからプレイヤーの手札へ
player_hand.append(deck.pop())
#デッキからディーラーの手札へ
dealer_hand.append(deck.pop())
#プレイヤーの手札を表示
#print(player_hand)
print_player_hand(player_hand)
#プレイヤーの手札の合計を表示
#print(get_point(player_hand))
#ディーラーの手札を表示
#print(dealer_hand)
print_dealer_hand(dealer_hand,False)
#ディーラーの手札の合計を表示
#print(get_point(dealer_hand))
#プレイヤーターン while True: op = input("スタンド:1,ヒット:2,ダブル:3 >") if op == "1": print("[プレイヤー:スタンド]") break elif op == "2": print("[プレイヤー:ヒット]") player_hand.append(deck().pop)
#↓↓↓この部分がエラーの原因だと思われます。
print_player_hand(player_hand)
#↑↑↑この部分がエラーの原因だと思われます。
elif op == "3":
print("[プレイヤー:ダブル]")
#ここにダブルの処理
else:
continue
turn += 1 input("次のターンへ") print("ゲームオーバー")
if name == "main":
main()

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/02 06:39