所以我有一个字符串,例如#AABBCCCASSDSFGDFGHDGHRTFBFIDHFDUFGHSIFUGEGFGNODN"。
我希望能够循环播放超过16个字符并打印出来。然后向上移动1个字母,循环超过16个字符并打印出来。直到没有剩下16个字符。
关于我如何做到这一点的任何帮助?
答案 0 :(得分:2)
这样的东西?
string = "AABBCCCASSDSFGDFGHDGHRTFBFIDHFDUFGHSIFUGEGFGNODN"
for n in range(len(string)-15):
print(string[n:n+16])
你必须迭代每个字符到最后一个字符后面有16个字符(所以字符串的长度减去15(因为索引从0开始):len(string)-15
),然后打印字符串在该起始索引处切割到索引+ 16(string[n:n+16]
)。
切片是Python编程的一个重要且IMO强大的方面,如果你是语言(或一般的编程)的新手,它是一个很好的阅读,你一定要练习它。 The official docs有关于该主题的一些很好的信息。
答案 1 :(得分:0)
如果我理解得很好,你可能会想做类似的事情:
a = "AABBCCCASSDSFGDFGHDGHRTFBFIDHFDUFGHSIFUGEGFGNODN"
for i in range(len(a) - 15):
print(a[i:i+16])
答案 2 :(得分:0)
我愿意:
str = "AABBCCCASSDSFGDFGHDGHRTFBFIDHFDUFGHSIFUGEGFGNODN"
for i in range(len(str)):
if len(str[i:i+16]) == 16:
print(str[i:i+16])
else:
break
答案 3 :(得分:0)
列表理解怎么样?
s = 'AABBCCCASSDSFGDFGHDGHRTFBFIDHFDUFGHSIFUGEGFGNODN'
print [s[x:x+16] for x in range(len(s)-15)]
['AABBCCCASSDSFGDF', 'ABBCCCASSDSFGDFG', 'BBCCCASSDSFGDFGH', 'BCCCASSDSFGDFGHD', 'CCCASSDSFGDFGHDG', 'CCASSDSFGDFGHDGH', 'CASSDSFGDFGHDGHR', 'ASSDSFGDFGHDGHRT', 'SSDSFGDFGHDGHRTF', 'SDSFGDFGHDGHRTFB', 'DSFGDFGHDGHRTFBF', 'SFGDFGHDGHRTFBFI', 'FGDFGHDGHRTFBFID', 'GDFGHDGHRTFBFIDH', 'DFGHDGHRTFBFIDHF', 'FGHDGHRTFBFIDHFD', 'GHDGHRTFBFIDHFDU', 'HDGHRTFBFIDHFDUF', 'DGHRTFBFIDHFDUFG', 'GHRTFBFIDHFDUFGH', 'HRTFBFIDHFDUFGHS', 'RTFBFIDHFDUFGHSI', 'TFBFIDHFDUFGHSIF', 'FBFIDHFDUFGHSIFU', 'BFIDHFDUFGHSIFUG', 'FIDHFDUFGHSIFUGE', 'IDHFDUFGHSIFUGEG', 'DHFDUFGHSIFUGEGF', 'HFDUFGHSIFUGEGFG', 'FDUFGHSIFUGEGFGN', 'DUFGHSIFUGEGFGNO', 'UFGHSIFUGEGFGNOD', 'FGHSIFUGEGFGNODN']