如何循环 python

how to loop in python

symbols =['a','b','c']
for i in range(len(symbols)):
        formula= 'X~ age +' +symbols[i]+ '+'
        print(formula)

这将给出如下输出:

X~ age+ a+
X~ age + b +
X~ age + c + 

但我需要输出为:

X~ age+a 
X~ age+a+b 
X~ age +a +b+c 
symbols =['a','b','c']
formula='X~ age'
for i in range(len(symbols)):
        formula= formula + '+' + symbols[i]
        print(formula)

假设 X~ age +a +b+c+a+b 之间的空格是错误的..否则..我在这里找不到一些模式,你需要再次循环打印它那样..

一般的做法是积累

text = 'starter'
for symbol in symbols:
    text += symbol
    text += '+'
    print(text)

因为这是一个非常基本的问题,所以我不会写出 完全 您所要求的代码。你应该能够弄清楚如何修改上面的内容来做你想做的事。

您需要跟踪之前看到的字符串。

symbols =['a','b','c']
prev = "+ "
for i in symbols:
        formula = 'X~ age {} {}'.format(prev,i)
        print(formula)
        prev += i + " + "

X~ age +  a
X~ age + a +  b
X~ age + a + b +  c

如果您不想要空格,只需删除它们即可:

symbols =['a','b','c']
prev = "+"
for i in symbols:
      print('X~ age{}{}'.format(prev, i))
      prev += i + "+"

X~ age+a
X~ age+a+b
X~ age+a+b+c

你也可以直接遍历符号,忘记索引。

我不确定你到底想做什么,但是这个怎么样:

items = ""
for elem in symbols:
    items = "{}{}".format(items, elem)
    print "X~ " + items

(似乎您想为每次迭代连接数组的元素;至少我是这样阅读您的问题的)

符号 = ['a','b','c']

输出="X~ age"

对于我在范围内(len(符号)):

if i != len(symbols) - 1:
    output = output + "+" + str(symbols[i])
    print output
else:
    output = "X~ age"
    output = output + " +" + str(symbols[0]) + " +" + str(symbols[1]) + "+" + str(symbols[2])
    print output

X~年龄+a

X~年龄+a+b

X~年龄+a+b+c