Python - 带有可变部分的数字

时间:2015-06-17 08:29:23

标签: python-2.7 python-3.x

我有一个以这种形式给出的数字623746xyz3,我必须编写一个Python脚本,在屏幕上打印所有可以使用x,y,z可以假设的所有值(从0到9)的组合创建的数字。 有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

我的第一个想法:

for x in range(0, 10)
    for y in range(0. 10)
        for z in range (0, 10)
            print 6*1000000000+2*100000000+3*10000000+7*1000000+4*100000+6*10000+x*1000+y*100+z*10+3

答案 1 :(得分:1)

如果那些xyz总是彼此相邻,那么你可以从0到999循环并replace相应的那部分字符串。

s = "623746xyz3"
for xyz in range(1000):
    sxyz = s.replace('xyz', str(xyz))
    print int(sxyz)

如果xyz可以更多地展开',您将需要三个嵌套循环:

for x in range(10):
    sx = s.replace('x', str(x))
    for y in range(10):
        sxy = sx.replace('y', str(y))
        for z in range(10):
            sxyz = sxy.replace('z', str(z))
            print int(sxyz)

(如果您不知道'变量'先验,您首先需要找到非数字字符并使用递归方法来替换它们。)