回答編集履歴

2

コード修正

2019/08/20 22:54

投稿

can110
can110

スコア38266

test CHANGED
@@ -30,6 +30,12 @@
30
30
 
31
31
  is_match[2] = 1
32
32
 
33
+ # もし「上記のみで構成される」という制約をつけたいなら、以下のコメント部分を生かす
34
+
35
+ #else:
36
+
37
+ # return False # それ以外はだめ
38
+
33
39
 
34
40
 
35
41
  return sum(is_match) == 3 # すべてを含む

1

回答修正

2019/08/20 22:54

投稿

can110
can110

スコア38266

test CHANGED
@@ -1,14 +1,4 @@
1
- 0. 数字文字かの判定において`digit=[1,2,...`のように文字ではなく**数値**のリストを用いている
1
+ 数字文字かの判定において`digit=[1,2,...`のように文字ではなく**数値**のリストを用いているのがうまくいかない原因です。該当文字かを判定するには正規表現を用いると少し簡潔に書けます。
2
-
3
- 0. (提示例では判定をすりぬけてしまいますが)`-`などの英数以外の文字を考慮していない
4
-
5
-
6
-
7
- のがうまくいかない原因です。
8
-
9
-
10
-
11
- 該当文字かを判定するには正規表現を用いると少し簡潔に書けます。
12
2
 
13
3
  ```Python
14
4
 
@@ -40,10 +30,6 @@
40
30
 
41
31
  is_match[2] = 1
42
32
 
43
- else:
44
-
45
- return False # 上記以外が含まれていたらだめ
46
-
47
33
 
48
34
 
49
35
  return sum(is_match) == 3 # すべてを含む