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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

7778閲覧

NameError: name 'self' is not defined

Questions

総合スコア6

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/03/20 06:15

pythonを使ってブラックジャックのプログラムを作っています。

コード
class Card():

def __init__(self, suit, number): self.suit = suit self.number = number def __repr__(self): return f'{self.suit} {self.number}'

trump = Card('♥', 10)
print(trump)

class Deck():

def __init__(self): suits = ['♠', '♥', '☘', '♦'] numbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] self.cards = [] for suit in suits: for number in numbers: self.cards.append(Card(suit, number))

print(Deck().cards)

エラーは以下のように出ました

Traceback (most recent call last):
File "c:/Users/User_name/Desktop/blackjack/blackjack_app/blackjack_app.py", line 15, in <module>
class Deck():
File "c:/Users/User_name/Desktop/blackjack/blackjack_app/blackjack_app.py", line 21, in Deck
self.cards = []
NameError: name 'self' is not defined

ググってみたのですが、自分では解決できませんでした。
何か知っていたら教えていただけないでしょうか?

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

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

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

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

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

y_waiwai

2020/03/20 06:21

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
guest

回答1

0

こちらで動きました

py:

1class Card(): 2 def __init__(self, suit, number): 3 self.suit = suit 4 self.number = number 5 6 def __repr__(self): 7 return f'{self.suit} {self.number}' 8 9trump = Card('♥', 10) 10print(trump) 11 12class Deck(): 13 def __init__(self): 14 suits = ['♠', '♥', '☘', '♦'] 15 numbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] 16 17 self.cards = [] 18 19 for suit in suits: 20 for number in numbers: 21 self.cards.append(Card(suit, number)) 22 23print(Deck().cards)

実行結果

♥ 10 [♠ A, ♠ 2, ♠ 3, ♠ 4, ♠ 5, ♠ 6, ♠ 7, ♠ 8, ♠ 9, ♠ 10, ♠ J, ♠ Q, ♠ K, ♥ A, ♥ 2, ♥ 3, ♥ 4, ♥ 5, ♥ 6, ♥ 7, ♥ 8, ♥ 9, ♥ 10, ♥ J, ♥ Q, ♥ K, ☘ A, ☘ 2, ☘ 3, ☘ 4, ☘ 5, ☘ 6, ☘ 7, ☘ 8, ☘ 9, ☘ 10, ☘ J, ☘ Q, ☘ K, ♦ A, ♦ 2, ♦ 3, ♦ 4, ♦ 5, ♦ 6, ♦ 7, ♦ 8, ♦ 9, ♦ 10, ♦ J, ♦ Q, ♦ K]

インデントの問題ではないでしょうか

投稿2020/03/20 06:27

dark-eater-kei

総合スコア1248

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

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

Questions

2020/03/20 08:14

ありがとうございます。おっしゃる通りインデントの問題でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問