Ist es möglich, ein Wort mit der Formatierung von Zeichenfolgen zu formatieren? Zum BeispielPython: Groß-/Kleinschreibung eines Wortes mit string.format()
"{user} did such and such.".format(user="foobar")
sollte "Foobar hat so und so."
Beachten Sie, dass mir .capitalize()
bekannt ist; aber hier ist eine (sehr vereinfachte Version) Code Ich verwende:
printme = random.choice(["On {date}, {user} did la-dee-dah. ",
"{user} did la-dee-dah on {date}. "
])
output = printme.format(user=x,date=y)
Wie Sie sehen können, nur user
als x.capitalize()
im .format()
definieren, funktioniert nicht, da dann wäre es auch (falsch angewendet werden) zum ersten Szenario. Und da ich das Schicksal nicht vorhersagen kann, gibt es keine Möglichkeit zu wissen, welches random.choice
im Voraus ausgewählt wurde. Was kann ich tun?
addt'l Anmerkung: Gerade output = random.choice(['xyz'.format(),'lmn'.format()])
(in anderen Worten, jede Zeichenfolge Formatierung einzeln und dann .capitalize()
für diejenigen verwenden, die es brauchen) tun, ist kein gangbarer Weg, da printme
von tatsächlich ist die Wahl ~ 40 + Zeichenfolgen
Warum sind Sie beliebig recasing Benutzernamen? –
@ IgnacioVazquez-Abrams Benutzername ist eigentlich gleich einem Benutzernamen ** oder ** ein Pronomen - für Pronomen würde man sie nicht immer groß schreiben. – tehsockz
Warte ... du würdest die Anzeige eines Benutzernamens ändern, aber kein Pronomen? Warum würdest du das tun? Die Leute erwarten, dass ihre Benutzernamen genau so sind, wie sie es in die Box eingegeben haben. – user2357112