當前的項目要求我以不同的步驟和組創建一個數字列表。 也就是說我需要的步驟是說,3,然後5,7,3,12,9,4,8。這將是第一組。下一組繼續,但在步驟開始時重新開始。生成的步驟用於表達式以生成所需的一系列數字。使用不等步驟的迭代
我創建使用「星圖」,「拉姆達」下面的代碼 - 得益於先進的迭代this偉大的教程。有沒有人知道更好的方式來迭代或其他,在不平等的步驟?
注:所產生的數列的值並不重要,只有步驟。
工作代碼:
from itertools import *
h = 0 ## Sets first group
for i in range (4): ## Number of groups to produce
values = [(6, h, 2), (6, h, 4), (6, h, 6), (6, h, 8), (6, h, 10), (6, h, 12), (6, h, 14), (6, h, 16)]
for j in starmap(lambda x,y, z:(x, y, z, (x * y) + z), values):
print '(%d * %d) + %d = %d' % j
print("")
h += 5 ## Increments by 5 for each group
代碼中的步驟有所不同嗎? – satoru
我不太明白你的意思。這段代碼顯示了一個非常特殊的情況,它足夠好。但我認爲你正在尋找一種更一般的解決方案,不是嗎? –
是的。我只是好奇別人的想法,如果他們有更好的方法。有人發佈了我認爲更好,或者至少更簡潔的方式,但隨後他將其刪除。我改裝成它和這裏是原始的代碼:步驟= [3,5,7,3,12,9,4,8] 爲i的x範圍(4):##位比範圍更有效的,即使沒有按這裏沒關係 爲j步驟: 打印j +(3 * i) print(「」) –