回答編集履歴

3

題意にあわせ修正

2018/10/15 15:20

投稿

can110
can110

スコア38268

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  import re
6
6
 
7
- r = re.compile(r'^[0-9]+$') # 行頭~行末まで0~9の
7
+ r = re.compile(r'^[0-9]$') # 行頭~行末まで0~9のいずれか一文字
8
8
 
9
9
  l = []
10
10
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  sample_input = input('数値入力')
14
14
 
15
- if len(sample_input) == 0:
15
+ if len(sample_input) == 0: # 未入力(改行のみ)を終了条件としました
16
16
 
17
17
  print('end')
18
18
 
@@ -40,4 +40,6 @@
40
40
 
41
41
 
42
42
 
43
- 一桁の数値の判別ですかね。ちょっと誤解してました。すみません。以下では`012`もマッチします。
43
+ 一桁の数値の判別ですかね。~~ちょっと誤解してました。すみません。以下では`012`もマッチします。~~
44
+
45
+ 題意に合わせ修正しました。プログラムの終了条件は改行のみ入力としました。

2

追記

2018/10/15 15:19

投稿

can110
can110

スコア38268

test CHANGED
@@ -33,3 +33,11 @@
33
33
  print(l) # 文字列のリストとして出力
34
34
 
35
35
  ```
36
+
37
+ #### 追記
38
+
39
+ > が0~9の整数のいずれかであるか判別
40
+
41
+
42
+
43
+ 一桁の数値の判別ですかね。ちょっと誤解してました。すみません。以下では`012`もマッチします。

1

追記にあわせて修正

2018/10/15 15:16

投稿

can110
can110

スコア38268

test CHANGED
@@ -4,11 +4,19 @@
4
4
 
5
5
  import re
6
6
 
7
- r = re.compile(r'^[0-9]+$') # 行頭(^)~行末($)まで0~9のみ
7
+ r = re.compile(r'^[0-9]+$') # 行頭~行末まで0~9のみ
8
+
9
+ l = []
8
10
 
9
11
  while True:
10
12
 
11
13
  sample_input = input('数値入力')
14
+
15
+ if len(sample_input) == 0:
16
+
17
+ print('end')
18
+
19
+ break
12
20
 
13
21
  print(sample_input)
14
22
 
@@ -16,6 +24,12 @@
16
24
 
17
25
  print('match')
18
26
 
27
+ l.append(sample_input)
28
+
19
- break
29
+ else:
30
+
31
+ print('skip')
32
+
33
+ print(l) # 文字列のリストとして出力
20
34
 
21
35
  ```