一定长度后切断弦

时间:2015-04-25 21:13:15

标签: python string

我写了这段代码:

name = 'Programmstrukturen 2'
num1=5
num2='$'
lang_name=len(name)

m_res=lang_name % num1

for x in range(num1):
    print 'x =' + str(x)
    print 'num1='+str(x)
    print name[x] + name[x+num1] + name[x+num1+num1] + name[x+num1+num1+num1]

它的功能非常简单,只需打印i + 4 + i + 4 + 4 + i + 4 + 4 + 4个字符,数量为num1。 它有效,但有没有机会通过减少最后一行来改善循环?并将输出合并为一个?

当前输出:

x =0
num1 =0
Parr
x =1
num1 =1
rmue
x =2
num1 =2
omkn
x =3
num1 =3
gst
x =4
num1 =4
rtu2

希望输出:

Parrrmueomkngst rtu2

这可以通过+ =或.join来完成吗?

2 个答案:

答案 0 :(得分:0)

name = 'Programmstrukturen 2'
num1=5
output=''
for x in range(num1):
    for i in range(num1-1):
        output+=name[x+num1*i]    #you could simplify the long line like this

print output
>>> 
Parrrmueomkngst rtu2

答案 1 :(得分:0)

是的,您可以使用.join

name = 'Programmstrukturen 2'
num1 = 5
output = ''.join(name[x::num1] for x in range(num1))