回答編集履歴
2
説明文を修正
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
+
入力の検証を別のメソッドに切り分けて、その中でループさせるようにしてください。
|
1
|
-
再帰
|
2
|
+
以下の例では再帰を用いて、正しい結果が返るまでループさせています。
|
2
3
|
|
3
4
|
```python
|
4
5
|
def validate_input(msg, ls):
|
1
再帰のreturn漏れを修正、in2のbreakを削除
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
if inp in ls:
|
7
7
|
return inp
|
8
8
|
else:
|
9
|
-
validate_input(msg, ls)
|
9
|
+
return validate_input(msg, ls)
|
10
10
|
|
11
11
|
i = 1
|
12
12
|
out = []
|
@@ -22,9 +22,7 @@
|
|
22
22
|
in2 = validate_input('Enter a or b: ', ('a', 'b'))
|
23
23
|
if in2 == 'a':
|
24
24
|
out.append('a')
|
25
|
-
break
|
26
25
|
elif in2 == 'b':
|
27
26
|
out.append('b')
|
28
|
-
break
|
29
27
|
print ('out= ',out)
|
30
28
|
```
|