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

回答編集履歴

6

追記

2020/01/16 08:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -20,6 +20,23 @@
20
20
  print(f"eight: {num_e}") # 埋め込んだ方が簡潔
21
21
  ```
22
22
 
23
+ ---
24
+ 自己回答を見る限り、どうやらこっちが正解みたいですね。
25
+ ```Python
26
+ import sys
27
+
28
+ target = '8'
29
+ if len(sys.argv) != 2:
30
+ print('python .py filename', file=sys.stderr)
31
+ sys.exit(1)
32
+
33
+ filename = sys.argv[1]
34
+ with open(filename) as fin:
35
+ elms = fin.read().split()
36
+
37
+ print('eight: {}'.format(elms.count(target)))
38
+ ```
39
+
23
40
  コードの書き方について
24
41
  ---
25
42
  teratailには、上のようにコードを見やすく表示する機能があります。

5

修正

2020/01/16 08:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  finding_num = "8" # 変数名はlower_snake_caseで
10
10
  if len(argv) != 2: # 過剰に引数を与えられる場合も考慮すべき
11
- print("Type argument/filename.", file=sys.stderr)
11
+ print("Type argument/filename.", file=stderr)
12
12
  # エラーメッセージは標準エラー出力に
13
13
  exit(1) # 継続不可能なら終了すべき
14
14
 

4

追記

2020/01/16 08:50

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -18,4 +18,12 @@
18
18
  num_e = line.split().count(finding_num)
19
19
  # 可能な限り機能を活用する
20
20
  print(f"eight: {num_e}") # 埋め込んだ方が簡潔
21
- ```
21
+ ```
22
+
23
+ コードの書き方について
24
+ ---
25
+ teratailには、上のようにコードを見やすく表示する機能があります。
26
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押して下さい。
27
+ ![Python](56957fe805d9d7befa7dba6a98676d2b.gif)
28
+
29
+ 特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。

3

修正

2020/01/16 08:27

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  ---
5
5
  せっかくなので徹底的に改修してみました。
6
6
  ```Python
7
- from sys import argv, exit
7
+ from sys import argv, exit, stderr # 個人的な好みもあるが、import sys の方が衝突を避けられると思う
8
8
 
9
9
  finding_num = "8" # 変数名はlower_snake_caseで
10
10
  if len(argv) != 2: # 過剰に引数を与えられる場合も考慮すべき

2

修正

2020/01/16 08:24

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  if len(argv) != 2: # 過剰に引数を与えられる場合も考慮すべき
11
11
  print("Type argument/filename.", file=sys.stderr)
12
12
  # エラーメッセージは標準エラー出力に
13
- sys.exit(1) # 継続不可能なら終了すべき
13
+ exit(1) # 継続不可能なら終了すべき
14
14
 
15
15
  filename = argv[1]
16
16
  with open(filename) as file: # ファイルを扱う際はwith文を積極的に使う

1

修正

2020/01/16 08:23

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  ---
5
5
  せっかくなので徹底的に改修してみました。
6
6
  ```Python
7
- from sys import argv
7
+ from sys import argv, exit
8
8
 
9
9
  finding_num = "8" # 変数名はlower_snake_caseで
10
10
  if len(argv) != 2: # 過剰に引数を与えられる場合も考慮すべき