是否可以使用字符串格式将单词大写?例如,
"{user} did such and such.".format(user="foobar")
应该返回“Foobar 做了这样那样的事情”。
请注意,我很清楚.capitalize()
;但是,这是我正在使用的(非常简化的版本)代码:
printme = random.choice(["On {date}, {user} did la-dee-dah. ",
"{user} did la-dee-dah on {date}. "
])
output = printme.format(user=x,date=y)
如您所见,仅定义user
asx.capitalize()
是.format()
行不通的,因为那时它也将(错误地)应用于第一个场景。而且由于我无法预测命运,所以无法知道random.choice
会提前选择哪个。我能做些什么?
补充说明:只是做output = random.choice(['xyz'.format(),'lmn'.format()])
(换句话说,单独格式化每个字符串,然后将.capitalize()
其用于需要它的字符串)不是一个可行的选择,因为printme
实际上是从大约 40 多个字符串中进行选择。