Printing specific parts of a string in python
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 | def PrintThree(s): x = len(s) return s[0:3] + x[3:] |
我现在很难理解如何只打印字符串的某些部分。我正在尝试编写一个代码,在这个代码中,Python一次打印3个字符,我正在尝试编写代码,这样代码就可以打印出整个字符串,但一次只显示3个字符。
这应该适用于任何长度的字符串。
我试着猜测预期结果:
1 2 3 | def printThree(str): for i in range(0, len(str), 3): print str[i:i+3] |
产量
1 2 3 4 5 | >>> printThree("somestring") som est rin g |
使用切片:
1 2 | def PrintThree(string): return string[:3] |
运行如下:
1 2 3 4 5 6 7 8 9 | >>> PrintThree('abcde') 'abc' >>> PrintThree('hello there') 'hel' >>> PrintThree('this works!') 'thi' >>> PrintThree('hi') 'hi' >>> |
在上一个示例中,如果长度小于3,它将打印整个字符串。
1 2 3 4 5 6 7 8 9 10 11 12 | >>> mystring = 'Hello World!' >>> mystring[:3] 'Hel' >>> mystring[0:3] 'Hel' >>> mystring[4:] 'o World!' >>> mystring[4:len(mystring)-1] 'o World' >>> mystring[4:7] 'o W' >>> |
或者,如果要每三个字符打印一次字符串,请使用以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | >>> def PrintThree(string): ... string = [string[i:i+3] for i in range(0, len(string), 3)] ... for k in string: ... print k ... >>> PrintThree('Thisprintseverythreecharacters') Thi spr int sev ery thr eec har act ers >>> |
这使用列表理解将字符串拆分为每3个字符。然后使用