2010-06-29 133 views
0

我無法打印行中的字符串聊天包含60個字符。包含60個字符的打印行

我的代碼如下:

s = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrtsucwxyz' 

for i in range(0, len(s), 60): 
    for k in s[i:i+60]: 
     print k 
+0

什麼是 「60個字」 的意義是什麼?它與59個字符一起工作,還是它不相關? – 2010-06-29 21:56:17

+0

我使用它來格式化生物數據,所以我需要以60 – Craig 2010-06-29 21:57:41

回答

4

s[i:i+60]將你想要的60個字符切成一個字符串。通過添加第二個for循環,您可以遍歷該字符串中的每個字符並分別輸出。只是輸出s[i:i+60]而不是

+0

d'oh字符打印的行!謝謝您的幫助!! – Craig 2010-06-29 22:02:14

+0

+1首先回答,並正確 – Dolph 2010-06-29 22:06:24

+0

+ +1爲更清晰/初學者友好的解釋,在我面前回答,並修復我的答案中的錯字:) – sdolan 2010-06-29 22:11:58

4

打印切片本身,而不是切片中的每個字符。

s = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrtsucwxyz' 

for i in range(0, len(s), 60): 
    print s[i:i+60] 
+0

+1顯示代碼 – Dolph 2010-06-29 22:05:30

2

您還可以使用textwrap module,即textwrap.fill(s, 60)

+0

+1:我什至不知道關於textwrap模塊。儘管如此,它要慢得多。在1000次迭代中測試w/timeit我得到了以下結果:400個字符範圍:0.83 textwrap:3.24,4000個字符範圍:.83 ave textwrap:244.09。 – sdolan 2010-06-30 00:15:16

相關問題