如何在python中循环if语句?
我想用这些代码做一个循环。有X行如何在python中循环if语句?,python,loops,if-statement,Python,Loops,If Statement,我想用这些代码做一个循环。有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[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个代码
我想要完成的是,如果第[4]>=15行,那么第[4]行将是0,然后将1添加到第[3]行
但我希望它在一个循环中。因此,如果我想有超过4行,那么我将只编辑我想要的行数,不再添加额外的if语句。我必须承认,我不确定这是否是您试图做的,但这是我根据您的代码/注释理解的
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
我可能错了,但您的代码让我想到了递归序列。如果是递归序列,您应该研究python中的递归函数: 根据我的理解,如果
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
然而,我认为你不需要做任何递归序列来做这样的事情。你应该遵循bouletta的做法。我认为你获得否决票的原因是你在描述中没有提供足够的细节!如果你能对你要找的东西添加更多的细节和解释,这将大大简化沟通。你需要充分解释你想做什么。这是非常模糊的。嗨,伙计们,谢谢你们的评论,我已经编辑过了,我希望它不再模糊。试着用伪代码写它,也许它会更清晰?听起来您想测试>=15,如果是这样,将下一个元素设置为0,并将1添加到包含任意数量元素的列表的当前元素中?谢谢!虽然这不是我想要的,那是因为我的问题不太清楚。但我从中学到了一些东西。非常感谢。这是最接近我需要的。基于此,我已经找到了我需要的代码。非常感谢你!