teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記

2018/02/11 16:22

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -42,4 +42,41 @@
42
42
  if __name__ == '__main__':
43
43
  main()
44
44
 
45
+ ```
46
+ ---
47
+ 2018/02/12追記。
48
+ LouiS0616さんの回答のsplitを使ったソースコードの方が何を行っているのかが分かりやすいのでおすすめですが、コメント欄のやりたいことの2つの配列を使ったソースコードです。
49
+
50
+ ```Python
51
+ # -*- coding: utf8 -*-
52
+ import linecache
53
+
54
+
55
+ def split_word_list(line: str) -> list:
56
+ word_list = []
57
+ word = []
58
+ for c in line:
59
+ if c == ' ':
60
+ print(word)
61
+ word_list.append(word)
62
+ word = []
63
+ continue
64
+ word.append(c)
65
+ else:
66
+ print(word)
67
+ word_list.append(word)
68
+ return word_list
69
+
70
+
71
+ def main() -> None:
72
+ line_no = 1
73
+ file_name = r'sample.txt'
74
+ target_line = linecache.getline(file_name, line_no)
75
+ target_line = 'This is an apple'
76
+ word_list = split_word_list(target_line)
77
+ print(word_list)
78
+
79
+
80
+ if __name__ == '__main__':
81
+ main()
45
82
  ```

4

ソースコードを追加

2018/02/11 16:22

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -23,4 +23,23 @@
23
23
  target_line = linecache.getline(r'C:\Users\ユーザ名\Documents\sample.txt', a)
24
24
  for c in target_line:
25
25
  print(c)
26
+ ```
27
+
28
+ 個人的に書き直したソースコード。
29
+ ```Python
30
+ # -*- coding: utf8 -*-
31
+ import linecache
32
+
33
+
34
+ def main() -> None:
35
+ line_no = 1
36
+ file_name = r'sample.txt'
37
+ target_line = linecache.getline(file_name, line_no)
38
+ for c in target_line:
39
+ print(c)
40
+
41
+
42
+ if __name__ == '__main__':
43
+ main()
44
+
26
45
  ```

3

r文字列に変更

2018/02/11 12:08

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -20,7 +20,7 @@
20
20
  最終的にどういう事をやりたいコードなのかを説明して頂けるとありがたいのですが。。。
21
21
  target_line を一文字ずつprintしたいだけなら、以下のコードで可能ですが。
22
22
  ```Python
23
- target_line = linecache.getline('C:\Users\ユーザ名\Documents\sample.txt', a)
23
+ target_line = linecache.getline(r'C:\Users\ユーザ名\Documents\sample.txt', a)
24
24
  for c in target_line:
25
25
  print(c)
26
26
  ```

2

=の後ろにスペースを追加

2018/02/11 12:03

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -20,7 +20,7 @@
20
20
  最終的にどういう事をやりたいコードなのかを説明して頂けるとありがたいのですが。。。
21
21
  target_line を一文字ずつprintしたいだけなら、以下のコードで可能ですが。
22
22
  ```Python
23
- target_line =linecache.getline('C:\Users\ユーザ名\Documents\sample.txt',a)
23
+ target_line = linecache.getline('C:\Users\ユーザ名\Documents\sample.txt', a)
24
24
  for c in target_line:
25
25
  print(c)
26
26
  ```

1

期待される結果を確認。

2018/02/11 11:47

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -16,5 +16,11 @@
16
16
 
17
17
  2, except:をwhileループの抜ける条件としていますが、この条件は一体なんでしょうか。。
18
18
 
19
-
19
+ ---
20
- 最終的にどういう事をやりたいコードなのかを説明して頂けるとありがたいのですが。。。
20
+ 最終的にどういう事をやりたいコードなのかを説明して頂けるとありがたいのですが。。。
21
+ target_line を一文字ずつprintしたいだけなら、以下のコードで可能ですが。
22
+ ```Python
23
+ target_line =linecache.getline('C:\Users\ユーザ名\Documents\sample.txt',a)
24
+ for c in target_line:
25
+ print(c)
26
+ ```