回答編集履歴

3

追記

2018/06/02 05:08

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -49,3 +49,215 @@
49
49
  ```
50
50
 
51
51
  これは関数の定義ではなく、for文の中で関数を定義しているだけです(しかもreturnもしていないから無意味な関数だし・・・)。for文を回している意味もないし(何回定義しても最後に定義されたものしか残らないし、そもそもforで値が束縛されるmと仮引数のmとが別物なので意味ないとか、それ以前にnを呼び出していないとか・・・)、何がしたいのかよくわかりません。
52
+
53
+
54
+
55
+
56
+
57
+ ### 追記2
58
+
59
+ 1つずつ加算で計算するコードはなんか書けました。
60
+
61
+
62
+
63
+ ```python
64
+
65
+ def incr_enzan(lst):
66
+
67
+ result_lst = lst[:]
68
+
69
+ if lst[-1] != 1:
70
+
71
+ first_one_passed = False
72
+
73
+ for i, x in enumerate(lst):
74
+
75
+ if x == 1 and not first_one_passed:
76
+
77
+ first_one_passed = True
78
+
79
+ elif x == 1 and first_one_passed:
80
+
81
+ break
82
+
83
+ result_lst[i] = 0
84
+
85
+ result_lst[i+1] = 1
86
+
87
+ else:
88
+
89
+ for i, x in enumerate(lst):
90
+
91
+ if x == 1:
92
+
93
+ break
94
+
95
+ result_lst[-1] = 0
96
+
97
+ result_lst[i] = 0
98
+
99
+ result_lst[i+1] = 1
100
+
101
+ result_lst[i+2] = 1
102
+
103
+ return result_lst
104
+
105
+
106
+
107
+
108
+
109
+ lst = [1,1,0,0,0,0,0,0,0,0,0,0]
110
+
111
+ print(1, lst)
112
+
113
+
114
+
115
+ for x in range(2, 67):
116
+
117
+ lst = incr_enzan(lst)
118
+
119
+ print(x, lst)
120
+
121
+ """
122
+
123
+ 1 [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
124
+
125
+ 2 [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
126
+
127
+ 3 [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
128
+
129
+ 4 [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
130
+
131
+ 5 [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
132
+
133
+ 6 [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
134
+
135
+ 7 [1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
136
+
137
+ 8 [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
138
+
139
+ 9 [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
140
+
141
+ 10 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
142
+
143
+ 11 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
144
+
145
+ 12 [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
146
+
147
+ 13 [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
148
+
149
+ 14 [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
150
+
151
+ 15 [0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
152
+
153
+ 16 [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
154
+
155
+ 17 [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
156
+
157
+ 18 [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
158
+
159
+ 19 [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
160
+
161
+ 20 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
162
+
163
+ 21 [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
164
+
165
+ 22 [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
166
+
167
+ 23 [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0]
168
+
169
+ 24 [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0]
170
+
171
+ 25 [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0]
172
+
173
+ 26 [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0]
174
+
175
+ 27 [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0]
176
+
177
+ 28 [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0]
178
+
179
+ 29 [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0]
180
+
181
+ 30 [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]
182
+
183
+ 31 [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]
184
+
185
+ 32 [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0]
186
+
187
+ 33 [0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0]
188
+
189
+ 34 [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0]
190
+
191
+ 35 [0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]
192
+
193
+ 36 [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0]
194
+
195
+ 37 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0]
196
+
197
+ 38 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1]
198
+
199
+ 39 [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0]
200
+
201
+ 40 [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0]
202
+
203
+ 41 [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0]
204
+
205
+ 42 [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0]
206
+
207
+ 43 [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0]
208
+
209
+ 44 [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]
210
+
211
+ 45 [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1]
212
+
213
+ 46 [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0]
214
+
215
+ 47 [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0]
216
+
217
+ 48 [0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0]
218
+
219
+ 49 [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0]
220
+
221
+ 50 [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0]
222
+
223
+ 51 [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]
224
+
225
+ 52 [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0]
226
+
227
+ 53 [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0]
228
+
229
+ 54 [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0]
230
+
231
+ 55 [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0]
232
+
233
+ 56 [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]
234
+
235
+ 57 [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0]
236
+
237
+ 58 [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0]
238
+
239
+ 59 [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0]
240
+
241
+ 60 [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1]
242
+
243
+ 61 [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0]
244
+
245
+ 62 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0]
246
+
247
+ 63 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1]
248
+
249
+ 64 [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0]
250
+
251
+ 65 [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1]
252
+
253
+ 66 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]
254
+
255
+ """
256
+
257
+ ```
258
+
259
+
260
+
261
+ もしかしたら式1つでn番目の項が出せるかもしれませんが、思いつかなかったので得意な人に譲ります・・・。
262
+
263
+ こういうコードで一式出して、辞書に突っ込んでおけば良いでしょう。

2

追記

2018/06/02 05:08

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -27,3 +27,25 @@
27
27
 
28
28
 
29
29
  `str(func)`で関数オブジェクトを表す文字列が返るので、それを変換しようとしてしまっています・・・。
30
+
31
+
32
+
33
+ ### 追記
34
+
35
+ ```python
36
+
37
+ for m in range(1, 12):
38
+
39
+ def n(m):
40
+
41
+ 10**12+10**m
42
+
43
+ for m in range(12, 22):
44
+
45
+ def n(m):
46
+
47
+ 10**11+10**m
48
+
49
+ ```
50
+
51
+ これは関数の定義ではなく、for文の中で関数を定義しているだけです(しかもreturnもしていないから無意味な関数だし・・・)。for文を回している意味もないし(何回定義しても最後に定義されたものしか残らないし、そもそもforで値が束縛されるmと仮引数のmとが別物なので意味ないとか、それ以前にnを呼び出していないとか・・・)、何がしたいのかよくわかりません。

1

説明

2018/06/02 03:58

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -1,4 +1,4 @@
1
- `def`は関数の定義であって呼び出しではないので、そのコードで関数を定義している意味はありません。
1
+ `def`は関数の定義であって呼び出しではないので、そのコードで関数を定義している意味はありません。というか、意図通り動いていません。
2
2
 
3
3
 
4
4