有没有办法运行并执行多个if循环?举个例子:
x = 1
b = 1
for a in range(100):
if x == 1:
print "foo"
if b == 1:
print "bar"
这会产生100“foo”但是可以执行两个if语句,所以我可以 得到像100“foobar”的东西?我不是在寻找嵌套的if循环解决方案,而是运行时实际检查if条件执行它并进入下一个if语句而不是启动整个循环的东西。
编辑:所有答案都很好所以我随机选了一个。 编辑:哇,运行我的原始代码,它给了我一个100“foobar”?我发誓它给了我一个100英寸的foo ..我一定很累......答案 0 :(得分:0)
a = 0
b = 0
value = 0
for value in range(100):
if a == value:
print "foo"
if b == value :
print "bar"
a = a + 1
b = b + 1
答案 1 :(得分:0)
有点不清楚你在寻找什么。 for循环在每次迭代时都执行if语句。第二个总是成功,因为b
没有改变。此外,顶部的a=1
不会执行任何操作 - 您不需要像在C中那样在循环之前初始化循环变量。
以下是我正在寻找的内容:
for a,b in zip(range(100), range(100)):
if a==1:
print "foo"
if b==1:
print "bar"
这是这样做的:zip()允许您一次迭代多个事物。在这种情况下,两个(相同的)范围序列,但它们不一定是。您可以单独检查每个变量。
答案 2 :(得分:0)
这样会更容易:
a = 0
b = 0
value = 0
for value in range(100):
if a == value and b == value:
print "foo bar"
a = a + 1
b = b + 1
或者,使用逗号:
a = 0
b = 0
value = 0
for value in range(100):
if a == value:
print "foo", #HERE IS THE ELUSIVE COMMA!
if b == value :
print "bar"
a = a + 1
b = b + 1
两者都有效。 :)
逗号的工作方式与常规打印语句的工作方式相同:print 'hello', 'hi'
= hello hi
答案 3 :(得分:0)
这里有很多好的帮助。
我可能会这样做:
a = 1
b = 1
for x in range(0, 100):
build_string = ""
if a is 1:
build_string += "foo"
if b is 1:
build_string += "bar"
print build_string