是否可以使用字符串格式化字大写?例如,Python:使用string.format()大写一个单词
"{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
如x.capitalize()
在.format()
不起作用,因为那也将被(错误地应用)到第一种情况。而且由于我无法预测命运,因此无法预先知道哪个random.choice
会被选中。我能做什么?
Addt'l注:只是做output = random.choice(['xyz'.format(),'lmn'.format()])
(换句话说,单独格式化每个字符串,然后使用.capitalize()
为需要它的那些)是不是一个可行的选择,因为printme
实际上是从选择40〜 +字符串。
你为什么随意recasing用户名? –
@ IgnacioVazquez-Abrams用户名实际上等于用户名**或**代词 - 对于代词而言,人们并不总是将它们大写。 – tehsockz
等等...你会改变用户名的显示大小写,但不是代词?为什么要这么做?人们期望他们的用户名正好是他们输入框中的情况。 – user2357112