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

回答編集履歴

3

題意にあわせ修正

2018/10/15 15:20

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -1,11 +1,11 @@
1
1
  正規表現を使うと以下で判定できます。
2
2
  ```Python
3
3
  import re
4
- r = re.compile(r'^[0-9]+$') # 行頭~行末まで0~9の
4
+ r = re.compile(r'^[0-9]$') # 行頭~行末まで0~9のいずれか一文字
5
5
  l = []
6
6
  while True:
7
7
  sample_input = input('数値入力')
8
- if len(sample_input) == 0:
8
+ if len(sample_input) == 0: # 未入力(改行のみ)を終了条件としました
9
9
  print('end')
10
10
  break
11
11
  print(sample_input)
@@ -19,4 +19,5 @@
19
19
  #### 追記
20
20
  > が0~9の整数のいずれかであるか判別
21
21
 
22
- 一桁の数値の判別ですかね。ちょっと誤解してました。すみません。以下では`012`もマッチします。
22
+ 一桁の数値の判別ですかね。~~ちょっと誤解してました。すみません。以下では`012`もマッチします。~~
23
+ 題意に合わせ修正しました。プログラムの終了条件は改行のみ入力としました。

2

追記

2018/10/15 15:19

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -15,4 +15,8 @@
15
15
  else:
16
16
  print('skip')
17
17
  print(l) # 文字列のリストとして出力
18
- ```
18
+ ```
19
+ #### 追記
20
+ > が0~9の整数のいずれかであるか判別
21
+
22
+ 一桁の数値の判別ですかね。ちょっと誤解してました。すみません。以下では`012`もマッチします。

1

追記にあわせて修正

2018/10/15 15:16

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -1,11 +1,18 @@
1
1
  正規表現を使うと以下で判定できます。
2
2
  ```Python
3
3
  import re
4
- r = re.compile(r'^[0-9]+$') # 行頭(^)~行末($)まで0~9のみ
4
+ r = re.compile(r'^[0-9]+$') # 行頭~行末まで0~9のみ
5
+ l = []
5
6
  while True:
6
7
  sample_input = input('数値入力')
8
+ if len(sample_input) == 0:
9
+ print('end')
10
+ break
7
11
  print(sample_input)
8
12
  if r.match(sample_input):
9
13
  print('match')
14
+ l.append(sample_input)
10
- break
15
+ else:
16
+ print('skip')
17
+ print(l) # 文字列のリストとして出力
11
18
  ```