z中字符串传入b,但有空格,怎么变成这样子?


z = '''

喜欢
讨厌

接受


拒绝
'''


# 依次插入文字
b = '''
为什么事而{}。
比如反派{}什么。
{}什么事。
'''


# print打印成
'''
为什么事而喜欢。
比如反派喜欢什么。
喜欢什么事。

为什么事而讨厌。
比如反派讨厌什么。
讨厌什么事。

为什么事而接受。
比如反派接受什么。
接受什么事。

为什么事而拒绝。
比如反派拒绝什么。
拒绝什么事。
……
'''

如果有用,请采纳~

# 把z转为list
z_list = z.split('\n')
# 去掉空字符
while '' in z_list:
    z_list.remove('')
# 去掉b的首个换行
if b[0] == '\n':
    b = b[1:]
# 使用format格式化b字符串
for d in z_list:
    c = b.format(d,d,d)
    print(c)

结果如下:

img

该回答内容部分引用GPT,GPT_Pro更好的解决问题
将字符串中的空格替换为分号,可以使用字符串函数来实现。例如,在JavaScript中,可以使用String对象的replace()方法:

let str = 'z 中字符串传入b';
let newStr = str.replace(/\s+/, ';');
console.log(newStr); // z;中字符串传入b

在Python中,也可以使用str.replace()方法:

str = 'z 中字符串传入b'
newStr = str.replace(' ', ';')
print(newStr) # z;中字符串传入b

上面的代码使用正则表达式或者直接使用空格字符作为替换的参数来替换字符串中的所有空格,从而将其替换为分号。
如果回答有帮助,望采纳。


for word in z.split():
    print(b.format(word,word,word))

以下为解答,望采纳

words = list(filter(lambda x: x.strip() != "", z.split("\n")))
for index, i in enumerate(words):
    msg = i.strip()
    if index + 1 != len(words):
        print(b.format(msg, msg, msg).strip())
        print()
    else:
        print(b.format(msg, msg, msg).strip())