擅长:python、mysql、java
<p>必须使用以前的值来计算新值。你知道吗</p>
<pre><code>def f10(start, n):
result = [start] # I put first element
for _ in range(n-1): # I have to put other n-1 elements yet
if start % 5 == 0:
start //= 5
else:
start -= 4
result.append(start)
return result
# - compare result with expected list -
print(f10(1, 10) == [1, -3, -7, -11, -15, -3, -7, -11, -15, -3])
# True
print(f10(9, 12) == [9, 5, 1, -3, -7, -11, -15, -3, -7, -11, -15, -3])
# True
</code></pre>
<hr/>
<p><strong>编辑:</strong>如果您不想要<code>range()</code>,那么您可以使用<code>while len(result) < n:</code></p>
<pre><code>def f10(start, n):
result = [start]
while len(result) < n:
if start % 5 == 0:
start //= 5
else:
start -= 4
result.append(start)
return result
</code></pre>