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

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

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

Osclassは、クラシファイド広告サイト(広告掲載用サイト)の構築に特化したCMSです。オープンソースで、PHP+MySQL構成で開発されています。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python

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

Q&A

1回答

435閲覧

'str' object has no attribute 'number'

yuto_0224

総合スコア0

Osclass

Osclassは、クラシファイド広告サイト(広告掲載用サイト)の構築に特化したCMSです。オープンソースで、PHP+MySQL構成で開発されています。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Python

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

0グッド

0クリップ

投稿2022/06/30 05:13

編集2022/06/30 05:55

class

1 def __init__(self, number, name, profile, next): 2 self.number = number 3 self.name = name 4 self.profile = profile 5 self.next = next 6 7def print_info(p): 8 while p != None: 9 print("{:>2d}".format(p.number), p.name, p.profile) 10 p = p.next 11 12f = open('Zac_Japan.txt', 'r', encoding = 'utf-8') 13data = f.readlines() 14f.close 15 16i=int(input("探索する登録番号は?")) 17 18head = None 19for n in data: 20 new = n.split() 21 head = Player(int(new[0]), new[1], new[2], head) 22 if i==head.number: 23 print("{:>2d}".format(n.number, n.name, n.profile)) 24

エラーメッセージ
'str' object has no attribute 'number'

テキストデータ
10 香川真司 FW_1989/03/17_172cm_63kg_マンチェスターU
17 長谷部誠 MF_1984/01/18_180cm_72kg_ニュルンベルク
5 長友佑都 DF_1986/09/12_170cm_68kg_インテル
13 大久保嘉人 FW_1982/06/09_170cm_73kg_川崎F
7 遠藤保仁 MF_1980/01/28_178cm_75kg_ガンバ大阪
9 岡崎慎司 FW_1986/04/16_174cm_76kg_マインツ
1 川島永嗣 GK_1983/03/20_185cm_82kg_スタンダール
4 本田圭佑 MF_1986/06/13_182cm_74kg_ACミラン
2 内田篤人 DF_1988/03/27_176cm_67kg_シャルケ
15 今野泰幸 DF_1983/01/25_178cm_73kg_ガンバ大阪
22 吉田麻也 DF_1988/08/24_189cm_81kg_サウサンプトン

入力された数字とテキストの数字が同じ場合出力するという操作です。
どう直せばよいですか

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

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

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

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

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

y_waiwai

2022/06/30 05:27

このままではコードが読めないので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください また、エラーが出たなら、エラーメッセージを提示しましょう エラーメッセージは、よけいな省略翻訳しないで出たそのママをコピペで提示してください
melian

2022/06/30 05:46

print("{:>2d}".format(n.number, n.name, n.profile)) => print("{:>2d} {} {}".format(head.number, head.name, head.profile))
tatsu99

2022/06/30 05:46

Zac_Japan.txtの内容を提示してください。 ソースのアップ方法 以下のようにすると、きちんとソースが表示されます。 </>をクリックします。 ```ここに言語を入力 コード ``` と表示されるので ```① ② ``` ①の箇所にpython3と入力し ②の箇所にソースをコピペして貼り付けます。 そうすると、きちんと表示されます。 質問は編集可能です。(ソースは再度アップ可能です) 上記のようにして、正しい方法でソースをアップし直してください。
guest

回答1

0

とりあえず、修正しておきました。

python3

1class Player(): 2 def __init__(self, number, name, profile, next): 3 self.number = number 4 self.name = name 5 self.profile = profile 6 self.next = next 7 8def print_info(p): 9 while p != None: 10 print("{:>2d} {} {}".format(p.number, p.name, p.profile)) 11 p = p.next 12 13f = open('Zac_Japan.txt', 'r', encoding = 'utf-8') 14data = f.readlines() 15f.close 16 17i=int(input("探索する登録番号は?")) 18 19head = None 20for n in data: 21 new = n.split() 22 head = Player(int(new[0]), new[1], new[2], head) 23 if i==head.number: 24 print("{:>2d} {} {}".format(head.number, head.name, head.profile)) 25 26

投稿2022/06/30 06:24

tatsu99

総合スコア5438

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問