从字符串末尾删除空格,同时在每个字母的中间保留空格

时间:2016-02-27 20:40:50

标签: python python-3.x

此代码的目标是获取一堆字母并在此之后为用户打印第一个字母和每三个字母。在输出结尾处删除空格的最简单方法是什么,同时保留中间的所有空格?

msg = input('Message? ')
for i in range(0, len(msg), 3):
  print(msg[i], end = ' ')

4 个答案:

答案 0 :(得分:2)

str_object.rstrip()将返回str_object的副本,而不会留下空格。只是做

msg = input('Message? ').rstrip()

对于它的价值,你可以用字符串切片替换你的循环:

print(*msg[::3], sep=' ')

答案 1 :(得分:1)

n = '   hello  '
n.rstrip()
'   hello'
n.lstrip()
'hello   '
n.strip()
'hello'

答案 2 :(得分:0)

怎么样?

msg = input('Message? ')
output = ' '.join(msg[::3]).rstrip()
print(output)

答案 3 :(得分:0)

您可以使用至少2种方法:

1)切片方法:

    print(" ".join(msg[0::3]))  

2)列表理解(更具可读性/强大性):

    print(" ".join([letter for i,letter in enumerate(msg) if i%3==0])