我曾多次创建类似的代码:
if condition():
word = " not"
else:
word = ""
print "A five ounce bird could{0} carry a one pound coconut".format(word)
我已经把问题分解到它的核心,在“实践”中,"A"
,"five"
,"bird"
,"a"
,"one"
,和{
我总觉得这不太令人满意。在"not"
之前需要额外的空间,而{0}
之前缺少一个空格,这两个问题都令人讨厌,但既然word
是空的,我就不想有其他方法了。在
创建两个单独的消息时使用DRY中断,有时甚至不可行,因为可能的组合太多。在
有没有更优雅的方式来做这个?在
创建一个单词列表,必要时插入,然后
' '.join(words)
它们。在如果有逗号/句点,建立一个句子结构:
在interfunction中使用相应的空格(逗号后的空格,括号前的空格,…),然后
' '.join()
组内的单词,''.join()
单独的组。(感谢@Alfe提出的用不同方式连接单词和组的建议)。在如果您关心i18n,那么创建两个独立的消息可能是唯一合理的方法。在
对于
" not"
的情况,请保持简单:相关问题 更多 >
编程相关推荐