2010-06-29 87 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

相关问题