回答編集履歴

3

追記

2018/11/16 11:05

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -3,6 +3,16 @@
3
3
 
4
4
 
5
5
  argvは直接的には無関係です。
6
+
7
+ ```Python
8
+
9
+ >>> print(f('5'))
10
+
11
+ bad
12
+
13
+ None
14
+
15
+ ```
6
16
 
7
17
 
8
18
 

2

追記

2018/11/16 11:05

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,3 +1,15 @@
1
+ > pythonのsysモジュールのargvを使うとnoneが出る
2
+
3
+
4
+
5
+ argvは直接的には無関係です。
6
+
7
+
8
+
9
+ 原因と対策
10
+
11
+ ---
12
+
1
13
  print関数は常にNoneを返すからです。
2
14
 
3
15
  ```Python

1

追記

2018/11/16 11:03

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -33,3 +33,29 @@
33
33
  return "OK"
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ なお、条件に合うものからreturnされていくので、もうちょっとシンプルに書けます。
40
+
41
+ ```Python
42
+
43
+ def f(x):
44
+
45
+ x = int(x)
46
+
47
+
48
+
49
+ if x < 2:
50
+
51
+ return "wonderful"
52
+
53
+ if x <= 8:
54
+
55
+ return "bad"
56
+
57
+
58
+
59
+ return "OK"
60
+
61
+ ```