質問編集履歴

4

ソースコードを少し変更しました。

2019/07/11 14:08

投稿

h_proc
h_proc

スコア68

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,4 @@
1
- ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのですが、上手くいきませんリストに入ってる一つ一つデータをクラスにすればいことはわかるのですが、上手方が思いつきません。
1
+ ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのです。関数を使わなでmain関数中では、クラスとして呼び出せました。表示用作った関数を使って表示させたいのですが、関数の引数に何を代入したらよかが分かりません。
2
-
3
- 具体的にいうと、print_player関数の引数には、zac_japan.txtに入っているデータの一つ一つをPlayer( , , )の形で入れたリストを用いたいのですが、Player( , , )の形に直す方法が分かりません。
4
-
5
- このままdata2をいれても、クラスの定義がされていないため、動かないことはわかるのですが、、、
6
2
 
7
3
  コードは以下のようです。どうぞよろしくお願いいたします。
8
4
 
@@ -30,7 +26,7 @@
30
26
 
31
27
 
32
28
 
33
- def print_player(d):
29
+ def print_player(d):#この関数を使いたい
34
30
 
35
31
  n = len(d)
36
32
 
@@ -44,21 +40,17 @@
44
40
 
45
41
  data2 = []
46
42
 
47
- data_ans=[]
43
+ data3=[]
48
44
 
49
45
 
50
46
 
51
-
52
-
53
- p = None
54
-
55
47
  for n in data:
56
48
 
57
- data2 = (n.split( ))
49
+ data2 = (n.split())
58
50
 
59
- p = Player(int(data2[0]),data2[1],data2[2])
51
+ data3 = (Player(data2[0],data2[1],data2[2]))
60
52
 
61
- print(data2)
53
+ print(data3.key,data3.name,data3.profile)#これで関数を使わないで表示させることはできる
62
54
 
63
55
 
64
56
 

3

考えられるところまで進めてみました。

2019/07/11 14:08

投稿

h_proc
h_proc

スコア68

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,19 @@
63
63
 
64
64
 
65
65
  ```
66
+
67
+ 疑問点
68
+
69
+ print(data2[0]),print(data2[1]),print(data2[2])はそれぞれ正しく表示されるが、
70
+
71
+ data3 =[]
72
+
73
+ というリストを用意して、そこに
74
+
75
+ data2.append(Player(data2[0],data2[1],data2[2]))
76
+
77
+ として追加させたところ、
78
+
79
+ <__main__.Player object at 0012....
80
+
81
+ が追加されていました。どうしてこのように変換されてしまうのでしょうか。解決策を教えていただきたいです。

2

関数の引数についての詳細情報を追加しました。

2019/07/11 13:01

投稿

h_proc
h_proc

スコア68

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
- ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのですが、上手くいきません。リストに入っている一つ一つのデータをクラスにすればいいことはわかるのですが、上手いやり方が思いつきません。作った関数の引数に入れるべき値が分かりません。このままdata2をいれても、クラスの定義がされていないため、動かないことはわかるのですが、、、
1
+ ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのですが、上手くいきません。リストに入っている一つ一つのデータをクラスにすればいいことはわかるのですが、上手いやり方が思いつきません。
2
+
3
+ 具体的にいうと、print_player関数の引数には、zac_japan.txtに入っているデータの一つ一つをPlayer( , , )の形で入れたリストを用いたいのですが、Player( , , )の形に直す方法が分かりません。
4
+
5
+ このままdata2をいれても、クラスの定義がされていないため、動かないことはわかるのですが、、、
2
6
 
3
7
  コードは以下のようです。どうぞよろしくお願いいたします。
4
8
 

1

分からないところの詳細を追加しました。

2019/07/11 12:44

投稿

h_proc
h_proc

スコア68

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
- ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのですが、上手くいきません。リストに入っている一つ一つのデータをクラスにすればいいことはわかるのですが、上手いやり方が思いつきません。作った関数もうまく使えないです。コード以下ようです。どうぞよろしくお願いいたします。
1
+ ファイルからデータを読み取り、リストに格納しました。それを、クラスにして、呼び出せるようにしたいのですが、上手くいきません。リストに入っている一つ一つのデータをクラスにすればいいことはわかるのですが、上手いやり方が思いつきません。作った関数の引数に入れるべき値が分かりません。このままdata2をいれて、クラスの定義がされていないため、動かないことわかるのですが、、、
2
+
3
+ コードは以下のようです。どうぞよろしくお願いいたします。
2
4
 
3
5
  ```python
4
6