2024-06-01 08:02:56 发布
网友
我需要以一个固定的间隔拆分一个字符串,并返回一个具有相同字符(一个空格和一个字母)的字符串,每个间隔都有新行,这样它就可以表示某种类型的行/列矩形字符串。我需要返回如下内容(示例):
>>> s = 'sliding puzzles' >>> puzzle(s, 3, 5) 'slidi ng pu zzles'
有人吗?在
像这样的东西
def puzzle(s,a,b): if a*b != len(s): print "Not possible" return start =0 end = b+1 output ="" for i in range(0,a): output= output+s[start: end]+"\n" start = end+1 end = end+b print output
我建议使用join来添加换行符,并使用列表理解来进行拆分:
def make_slice(my_str, slice_length, slice_start): return mystr[slice_length * slice_start:slice_length * (slice_start + 1)] def puzzle(my_string, substring_length): return '\n'.join([make_slice(my_string, substring_length, substring_index) for substring_index in range((len(my_string) // substring_length) + 1)])
这个变量不需要指定拼图的高度,只需要指定子字符串的长度。拼图的最后一行可能需要填充空格以达到与其他行相同的长度。在
明白了!感谢Bhavish Agarwal。在
def puzzle(s, r, c): assert r*c == len(s), 'not possible' start = 0 end = c output ="" for _ in range(0, r - 1): output= output+s[start: end]+"\n" start = end end = end + c output= output+s[start: end] return output
这是多么容易。谢谢你的迅速反应。:)
像这样的东西
我建议使用join来添加换行符,并使用列表理解来进行拆分:
这个变量不需要指定拼图的高度,只需要指定子字符串的长度。拼图的最后一行可能需要填充空格以达到与其他行相同的长度。在
明白了!感谢Bhavish Agarwal。在
这是多么容易。谢谢你的迅速反应。:)
相关问题 更多 >
编程相关推荐