嵌套循环生成唯一的id变量

时间:2017-03-03 04:48:34

标签: python loops for-loop while-loop

我正在尝试为Yrst提供以下输出:

Y111 + Y112 + Y113 + Y211 + Y212 + Y213 + Y311 + Y312 + Y313

我有以下代码:

r=1
s=1
t=1
for a in r:
    while r <= 3:
        r+1
        for b in s:
            while s <= 3:
                s+1
                for c in t:
                    while t <= 3:
                        t+1
                        print("Y",r,"Y",s,"Y",t)

我对所有这些嵌套循环感到困惑。我也不知道如何添加这些“+”符号。

错误

TypeError: 'int' object is not iterable

2 个答案:

答案 0 :(得分:2)

double div(Double d1, Double d2){ try{ return d1/d2; }catch(ArithmeticException e){ throw new ArithmeticException("Division by 0"); }catch(NullPointerException e2){ throw e2; } } 是一个整数,因此它不是可迭代的

试试这个:

r

输出:

from itertools import product

num = "".join(map(str, range(1, 4)))
l = map(lambda x: 'Y' + x, (map('1'.join, product(num, num))))

print("+".join(l))

答案 1 :(得分:0)

@McGrady已经完成了pythonic方式,因此可以回答问题的其他部分(代码有什么问题): -

output = []
for r in range(1, 4):
    for s in range(1, 4):
        for t in range(1,4):
            output.append("Y" + str(r) + str(s) + str(t))
print(" + ".join(output)