是否可以使用字符串格式化字大寫?例如,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