回答編集履歴

6

追記

2021/05/04 14:25

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -41,3 +41,5 @@
41
41
 
42
42
 
43
43
  ATGC文字列のリストが得られるので、一番長いものを選べば良いです。
44
+
45
+ 特にこの問題の場合長さが求められれば良いので、max(map(len, chunks)) で足ります。

5

一部不完全な状態で投稿されていたようなので、再投稿

2021/05/04 14:25

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -1,4 +1,4 @@
1
- 次のようにして文字列に変数を埋め込みます。
1
+ 次のようにして文字列に変数を埋め込みます。
2
2
 
3
3
  ```Python
4
4
 

4

修正

2021/05/04 14:17

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  ```Python
4
4
 
5
+ for 略:
6
+
5
- li.append(re.search(fr'[A.T.G.C]{{{i}}}', name))
7
+ li.append(re.search(fr'[A.T.G.C]{{{i}}}', name))
6
8
 
7
9
  ```
8
10
 
@@ -30,6 +32,8 @@
30
32
 
31
33
  ```Python
32
34
 
35
+ name = 'HATAGAYA'
36
+
33
37
  chunks = re.findall(r'[ATGC]+', name)
34
38
 
35
39
  ```

3

修正

2021/05/04 13:41

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  {{ は { のエスケープ表現です。}} も然り。
12
12
 
13
- f文字列で変数が埋め込まれた結果、[A.T.G.C]{2} みたいな文字列が作られます。
13
+ f文字列で {i} に i が埋め込まれた結果、[A.T.G.C]{2} みたいな文字列が作られます。
14
14
 
15
15
 
16
16
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```Python
32
32
 
33
- chunks = re.findall('[ATGC]+', name)
33
+ chunks = re.findall(r'[ATGC]+', name)
34
34
 
35
35
  ```
36
36
 

2

修正

2021/05/04 13:39

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -26,12 +26,14 @@
26
26
 
27
27
  ---
28
28
 
29
- for文を使わずとも、findallで全抽出して一番長い文字列を選べば充分に思います。
29
+ for文を使わずとも、次のようにfindallで全抽出すれば充分に思います。
30
30
 
31
31
  ```Python
32
32
 
33
33
  chunks = re.findall('[ATGC]+', name)
34
34
 
35
- chunksから、一番長い文字列を選ぶ
35
+ ```
36
36
 
37
+
38
+
37
- ```
39
+ ATGC文字列のリストが得られるので、一番長いものを選べば良いです。

1

追記

2021/05/04 13:38

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -19,3 +19,19 @@
19
19
  ---
20
20
 
21
21
  正規表現として [A.T.G.C] は明らかにおかしく、これは [ATGC] の誤りでしょう。
22
+
23
+
24
+
25
+ 別解
26
+
27
+ ---
28
+
29
+ for文を使わずとも、findallで全抽出して一番長い文字列を選べば充分に思います。
30
+
31
+ ```Python
32
+
33
+ chunks = re.findall('[ATGC]+', name)
34
+
35
+ chunksから、一番長い文字列を選ぶ
36
+
37
+ ```