2016-02-27 73 views
0

此代碼的目標是取出一串字母並打印出用戶後的第一個字母和後面的第三個字母。在保留所有空間在中間的同時,在輸出結束時刪除空白的最簡單方法是什麼?從字符串末尾刪除空格,同時在每個字母的中間保留空格

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

[我如何從pyth中的字符串末尾刪除空格在?](http://stackoverflow.com/questions/2372573/how-do-i-remove-whitespace-from-the-end-of-a-string-in-python) – DavidW

回答

2

str_object.rstrip()將返回str_object副本沒有尾隨空白。只要做到

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

對於它的價值,你可以通過字符串替換切片你的循環:

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

怎麼樣?

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

我想保留一個空格所有的字母雖然。只刪除最後一個字母后的空格 –

+0

@CianMcGovern編輯,看一看 –

0

可以使用至少2種方法:

1)切片方法:

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

2)名單理解(更易讀/強大):

print(" ".join([letter for i,letter in enumerate(msg) if i%3==0]) 
0
n = ' hello ' 
n.rstrip() 
' hello' 
n.lstrip() 
'hello ' 
n.strip() 
'hello' 
相關問題