我有一个以这种形式给出的数字623746xyz3,我必须编写一个Python脚本,在屏幕上打印所有可以使用x,y,z可以假设的所有值(从0到9)的组合创建的数字。 有人能帮助我吗?
答案 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)
如果x
,y
和z
可以更多地展开',您将需要三个嵌套循环:
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)
(如果您不知道'变量'先验,您首先需要找到非数字字符并使用递归方法来替换它们。)