我想用这些代码制作一个循环。要有X个行数。
if line[3]>=15:
line[3]=0
print("line 3 is >= 15")
if line[2]>=15:
line[2]=0
print("line 2 is >= 15")
if line[1]>=15:
line[1]=0
print("line 1 is >= 15")
if line[0]>=15:
print("FFFFF")
else:
line[0]+=1
else:
line[1]+=1
else:
line[2]+=1
else:
line[3]+=1
我希望有一个循环可以使这段代码适用于X个代码。
我想要完成的是如果line [4]> = 15然后line [4]将为0然后将1添加到第[3]行。
但是我想把它放在一个循环中...如果我想要超过4行,那么我将只编辑我想要的行数,而不再添加额外的if语句。
答案 0 :(得分:0)
我不得不承认我不确定这是不是你想要做的,但这是我根据你的代码/评论理解的。
for i in range(len(line)-1, -1, -1):
if line[i] >= 15:
line[i] = 0
if i != 0:
print("line {} is >=15".format(i))
else:
print("FFFFF")
else:
line[i-1] +=1
答案 1 :(得分:0)
我可能错了,但是你的代码让我想到了一个递归序列。如果它是一个递归序列,你应该在python中查看递归函数:http://www.python-course.eu/recursive_functions.php。
根据我的理解line=[1,36,13,17]
,我们应该line=[2, 0, 14, 0]
。
这是我做的递归函数:
def test(line,n):
if n==0: # 2) and for the last it will run here
if line[0]>=15:
print("FFFFF")
else:
line[0]+=1
print line
return "the end"
else: # 1) for all calculations the program will run here
if line[n]>=15:
line[n]=0
print("line " + str(n) + " is >= 15")
return test(line,n-1)
else:
line[n]+=1
return test(line,n-1)
line=[1,36,13,17]
print test(line,3)
结果如下:
line 3 is >= 15
line 1 is >= 15
[2, 0, 14, 0]
the end
但是我认为你不需要做任何递归序列来做这样的事情。你应该遵循布莱塔的所作所为。