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

質問編集履歴

2

codeの追加

2017/11/26 13:09

投稿

kinesin_lks
kinesin_lks

スコア8

title CHANGED
File without changes
body CHANGED
@@ -25,7 +25,7 @@
25
25
  実際のコードは競プロのものなので、似たものを追加いたします。
26
26
  コードの目的はリストのなかでしりとりをさせるものです。
27
27
 
28
- '''Python
28
+ ```Python
29
29
  import copy
30
30
 
31
31
  list = ["スライド", "ドングリ", "ドミノ", "ドンブリ", "ヌードル"]
@@ -72,4 +72,4 @@
72
72
  if __name__ == '__main__':
73
73
  main()
74
74
 
75
- '''
75
+ ```

1

コードの追加

2017/11/26 13:08

投稿

kinesin_lks
kinesin_lks

スコア8

title CHANGED
File without changes
body CHANGED
@@ -19,4 +19,57 @@
19
19
 
20
20
  #これで出力できる時もある
21
21
  print(list[0][:3])
22
- ```
22
+ ```
23
+
24
+ /*-------------------追記----------------------*/
25
+ 実際のコードは競プロのものなので、似たものを追加いたします。
26
+ コードの目的はリストのなかでしりとりをさせるものです。
27
+
28
+ '''Python
29
+ import copy
30
+
31
+ list = ["スライド", "ドングリ", "ドミノ", "ドンブリ", "ヌードル"]
32
+
33
+ def search(data, i, order):
34
+ data[i][3] = 1
35
+ for j in range(len(data)):
36
+ if j == len(data) - 1: print('fin')
37
+ elif data[i][2] == data[j][1]:
38
+ # search
39
+ # もし最後の文字と最初の文字が同じものがあれば再帰させる
40
+ order.append(len(order))
41
+ search(data, j, order)
42
+ return order
43
+
44
+ def main():
45
+ # 最初の一文字を格納するためのリスト
46
+ s_list = []
47
+ # 最後の一文字を格納するためのリスト
48
+ e_list = []
49
+ # しりとりの順番を格納するためのリスト
50
+ order = []
51
+ # 単語、一文字目、最後の文字をまとめて格納するためのリスト
52
+ m_list = []
53
+ # m_listを全単語分まとめて格納するためのリスト
54
+ data = []
55
+
56
+ for i in list:
57
+ s_list.append(i[0:3])
58
+ e_list.append(i[len(i) - 3:])
59
+ for i in range(len(list)):
60
+ m_list.append(list[i])
61
+ m_list.append(s_list[i])
62
+ m_list.append(e_list[i])
63
+ m_list.append(0)
64
+ data.append(copy.deepcopy(m_list))
65
+ del m_list[:]
66
+
67
+ for i in range(len(data)):
68
+ m_data = search(copy.deepcopy(data), copy.deepcopy(i), copy.deepcopy(order))
69
+ # search関数より得られた順番を出力
70
+ print(str(m_data).decode('string-escape')
71
+
72
+ if __name__ == '__main__':
73
+ main()
74
+
75
+ '''