打印一串字母表中不同部分的组合(python)

时间:2016-11-14 15:09:33

标签: python

我想打印此字符串:bcdefgihjklmnopqrstztsrqponmlkjhigfedcb 我已经确定这个字符串由三部分组成:

  • b to t
  • ž
  • t to b

到目前为止我只是第一部分:

for i in range (ord('b'), ord('t')+1):
    print chr(i),

但我真的不知道如何添加其他两个部分。

有人可以向我解释我应该如何解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

使用具有负步长值的范围,您可以创建反向列表。然后使用简写“+”表示法连接前向,z的一个元素列表和反向列表。使用list comprehension将ascii索引转换为相应的字符,最后使用空字符串“”连接结果列表。

ord_b = ord('b')
ord_t = ord('t')
ord_z = ord('z')
result = "".join([chr(i) for i in range(ord_b, ord_t+1) + [ord_z] + range(ord_t, ord_b-1, -1)])
print result

答案 1 :(得分:0)

以下代码可以解决问题。

x = [chr(i) for i in range (ord('b'), ord('t')+1)]
y = x[:]
y.reverse()
result = ''.join(x + ['z'] + y)
print(result)