Ich habe an einem textbasierten Spiel in Python gearbeitet und bin auf eine Instanz gestoßen, in der ich eine Zeichenfolge basierend auf einer Reihe von Bedingungen unterschiedlich formatieren möchte.
Insbesondere möchte ich Text anzeigen, der Elemente in einem Raum beschreibt. Ich möchte, dass dies in der Raumbeschreibung genau dann angezeigt wird, wenn sich das betreffende Objekt in der Artikelliste des Raumobjekts befindet. Bei der Einrichtung habe ich das Gefühl, dass das einfache Verketten von Zeichenfolgen basierend auf Bedingungen nicht wie gewünscht ausgegeben wird, und es wäre besser, für jeden Fall eine andere Zeichenfolge zu haben.
Meine Frage ist, gibt es eine pythonische Methode zum Formatieren von Zeichenfolgen basierend auf dem Ergebnis einer Booleschen Bedingung? Ich könnte eine for-Schleifenstruktur verwenden, aber ich habe mich gefragt, ob es etwas Einfacheres gibt, ähnlich einem Generatorausdruck.
Ich suche etwas Ähnliches in Stringform
num = [x for x in xrange(1,100) if x % 10 == 0]
Als allgemeines Beispiel für das, was ich meine:
print "At least, that's what %s told me." %("he" if gender == "male", else: "she")
Mir ist klar, dass dieses Beispiel kein gültiges Python ist, aber es zeigt im Allgemeinen, wonach ich suche. Ich frage mich, ob es einen gültigen Ausdruck für die Formatierung von booleschen Zeichenfolgen gibt, ähnlich wie oben. Nachdem ich mich ein wenig umgesehen hatte, konnte ich nichts finden, was speziell mit der Formatierung bedingter Zeichenfolgen zu tun hatte. Ich habe im Allgemeinen mehrere Beiträge zu Formatzeichenfolgen gefunden, aber das ist nicht das, wonach ich suche.
Wenn so etwas tatsächlich existiert, wäre es sehr nützlich. Ich bin auch offen für alternative Methoden, die vorgeschlagen werden können. Vielen Dank im Voraus für jede Hilfe, die Sie leisten können.