回答編集履歴

2

2024/07/12 06:45

投稿

melian
melian

スコア20283

test CHANGED
@@ -23,7 +23,9 @@
23
23
  print(max(moji_list, key=len)) # moji_list が空(empty)の場合はエラー
24
24
  ```
25
25
 
26
- もしくは、リストの末尾から比較してもよいか思います。(こちら方が題意沿っいるかもれません)
26
+ > リストの先頭の文字列、残りリスト対しlongest_stringを再帰的に呼び出た結果を、
27
+
28
+ 題意通りに書くと `longest_string()` は以下の様になるでしょう。(上記の部分を読み落としていました)
27
29
 
28
30
  ```python
29
31
  def longest_string(moji_list):

1

2024/07/12 06:34

投稿

melian
melian

スコア20283

test CHANGED
@@ -23,3 +23,13 @@
23
23
  print(max(moji_list, key=len)) # moji_list が空(empty)の場合はエラー
24
24
  ```
25
25
 
26
+ もしくは、リストの末尾から比較してもよいかと思います。(こちらの方が題意に沿っているかもしれません)
27
+
28
+ ```python
29
+ def longest_string(moji_list):
30
+ match len(moji_list):
31
+ case 0: return None
32
+ case 1: return moji_list[0]
33
+ case 2: return longer_string(*moji_list)
34
+ case _: return longer_string(moji_list[0], longest_string(moji_list[1:]))
35
+ ```