Python 3.9中如何在重复字符串时给各重复项之间添加空格
问题原因
现有代码中x*d的逻辑是直接将子串x重复d次后无缝拼接,不会自动添加分隔符,因此输出的内容是连续无空格的。
修复方案
你只需要修改最后一行的打印逻辑,使用str.join()方法即可实现带空格分隔的重复效果,修改后的完整代码如下:
a = input("enter a word:") b = int(input("start position:")) c = int(input("end position:")) d = int(input("number of repetitions:")) x = a[b:c] print(' '.join([x]*d))
逻辑说明
[x]*d会生成一个包含d个x元素的列表,对应你的测试用例就是['oo', 'oo']' '.join(列表)会用空格作为分隔符,把列表内的所有字符串拼接为一个整体,正好输出你需要的oo oo效果。
你也可以选择另一种写法:print((x + " ")*d).strip(),不过该写法会先在每个子串后拼接空格,需要额外用strip()去除尾部多余的空格,稳定性不如join方法。
内容的提问来源于stack exchange,提问作者jennyro
相关产品推荐
相关产品推荐

