質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

748閲覧

shuffle(self.cards) ^ SyntaxError: invalid syntax Process finished with exit code 1のエラーについて

KIDyoshikazu

総合スコア3

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/08/07 15:22

from random import shuffle

class Deck:
def init(self):
self.cards = []
for i in range(2, 15):
for j in range(4):
self.cards.appendcard(card(i, j)
shuffle(self.cards)

def rm_card(self): if len(self.cards) == 0: return return self.cards.pop()

Deckはこの時点で定義されてない、上記にクラスとして定義する

deck = Deck()
for card in deck.cards:
print(card)

# Playerのクラス定義
class player:
def init (self, name):
self.wins = 0
self.card = None
self.name = name

# Gameのクラス定義です

class Game:
def init(self):
name1 = input("プレーヤー1の名前")
name2 = input("プレーヤー2の名前")
self.deck =Deck()
self.p1 = Player(name1)
self.p2 = Player(name2)

def wins(self, winner): w = "このラウンドは {} が勝ちました!" w = w.format(winner) print(w) def draw(self, pln, plc, p2n, p2c): d = "{}は{}、{}は{}が引きました" d = d.format(pln, plc, p2n, p2c) print(d)

ここの意味がわかりません

def play_game(self): cards = self.desk.cards print("戦争を始めます") while len(cards) >= 2: m = "qで終了、それ以外はキーでプレイ:" resupnce = input(m) if responce == "q": break p1c = self.deck.rm_card() p2c = self.deck.rm_card() p1c = self.p1.name p2c = self.p2.name self.draw(p1n, p1c, p2n, p2c) if p1c > p2c: self.p1.wins += 1 self.wins(self.p1.name) else: self.p2.wins += 1 self.wins(self.p2.name) win = self.winer(self.p1, self.p2) print("ゲーム終了、{}の勝利です".format(win)) def winner(self, p1, p2): if p1.wins > p2.wins: return p1.name if p1.wins < p2.wins: return"引き分け"


上記コードでエラーがでます。
shuffle(self.cards)
^
SyntaxError: invalid syntax

Process finished with exit code 1

ググってみましたが、よくあるミスと出るだけで結局どうすれば良いのか不明です。
スペルやクラスの定義なども確認しましたが、私がまだまだ初心者でわからないです。
解決するご教示をいただければ幸いです、お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2021/08/07 20:44

関係ないけど綴りが違ってますよ? resupnce = input(m) if responce == "q":
guest

回答1

0

class Deck:
def init(self):
self.cards = []
for i in range(2, 15):
for j in range(4):
self.cards.appendcard(card(i, j)
shuffle(self.cards)

self.cards.appendcard(card(i, j)

の最後に括弧が足りません。

self.cards.appendcard(card(i, j))

に変更しましょう。

投稿2021/08/07 21:39

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問