回答編集履歴

4

修正

2017/11/13 08:14

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,4 @@
1
- `major = data.split(' ')` ⇒ `major = major.split(' ')`では?
1
+ `major = data.split(' ')` ⇒ `major = major.split(' ')`では?
2
2
 
3
3
 
4
4
 

3

修正

2017/11/13 08:14

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- 出力イメージはこんな感じです。
33
+ 戻り値の中身はこんな感じです。
34
34
 
35
35
  ```
36
36
 

2

追記

2017/11/13 08:14

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -27,3 +27,13 @@
27
27
  return major_list
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ 出力イメージはこんな感じです。
34
+
35
+ ```
36
+
37
+ ['CIS', 'EC', 'PS', 'GSS', 'PBA', 'SDSC', 'CIS', 'CIS', 'MATH', 'CIS', 'CIS', 'PSY', 'CIS', 'GSS', 'PDS', 'CIS', 'CIS', 'PS', 'CIS', 'CIS', 'PHYS', 'CIS', 'UNDL', 'ATCH', 'CIS', 'PHYS', 'UNDL']
38
+
39
+ ```

1

追記

2017/11/13 08:13

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1 +1,29 @@
1
- `major = data.split(' ')` ⇒ `major = major.split(' ')`では?
1
+ `major = data.split(' ')` ⇒ `major = major.split(' ')`では?
2
+
3
+
4
+
5
+ ついでに
6
+
7
+ ---
8
+
9
+ ご提示のコードでは、ループごとにmajor_listを上書きしてしまいます。
10
+
11
+ `major_list = major[0]`ではなく、`major_list.append(major[0])`と書くべきです。
12
+
13
+ その際は、空リストmajor_listをループ前に宣言する必要があります。
14
+
15
+
16
+
17
+ なお、次のように簡潔にも書けます。
18
+
19
+ ```Python
20
+
21
+ def majors_readf(fname):
22
+
23
+ with open(fname, 'r') as f:
24
+
25
+ major_list = [m.split()[0] for m in f]
26
+
27
+ return major_list
28
+
29
+ ```