我正在用python制作诗歌生成器,目前正在研究如何将诗歌输出给用户。我想这样做,以便输出的每一行后面都会有一个逗号。我以为可以通过使用.join函数轻松实现这一点,但是它似乎附加在字母上,而不是附加在列表中的字符串末尾。
line1[-1]=', '.join(line1[-1])
print(*line1)
print(*line2)
将输出类似:
Moonlight is w, i, n, t, e, r
The waters scent fallen snow
事后看来,我应该知道join是使用了错误的函数,但是我仍然迷失了。我尝试了.append,但是由于列表中的项目是字符串,因此出现错误消息“'str'对象没有属性'append'。”
我意识到对这一切的另一种解决方法可能是:
print(*line1, ",")
但是我正在开发一个函数,该函数将确定正确的标点符号需要是“!”,“,”,“?”还是“-”,所以我真的希望找到可以附加的东西到列表本身中的字符串,而不是在输出打印过程中附加。
例如,仅对字符串使用+
或+=
运算符:
trailing_punct = ',' # can be '!', '?', etc.
line1 += trailing_punct
# or
line1 = line1 + trailing_punct
+=
可以用于修改字符串“就地”。