Я работал над текстовой игрой на Python, и мне попался случай, когда я хочу по-разному форматировать строку в зависимости от набора условий.
В частности, я хочу отобразить текст, описывающий предметы в комнате.Я хочу, чтобы это отображалось в описании комнаты, если и только если рассматриваемый объект предмета находится в списке предметов предмета комнаты.Как это настроено, я чувствую, что простая конкатенация строк, основанных на условных выражениях, не будет выводиться так, как я хочу, и было бы лучше иметь разные строки для каждого случая.
У меня такой вопрос, есть ли какой-нибудь питонный метод для форматирования строк, основанный на булевом условном результате?Я мог бы использовать структуру цикла for, но мне было интересно, есть ли что-то более простое, похожее на выражение генератора.
Я ищу что-то похожее на это в виде строки
num = [x for x in xrange(1,100) if x % 10 == 0]
В качестве общего примера того, что я имею в виду:
print "At least, that's what %s told me." %("he" if gender == "male", else: "she")
Я понимаю, что этот пример не является допустимым Python, но в целом показывает, что я ищу.Мне интересно, есть ли какое-либо допустимое выражение для форматирования логической строки, подобное приведенному выше.После небольшого поиска я не смог найти ничего, относящегося конкретно к условному форматированию строк.Я нашел несколько сообщений по форматным строкам в целом, но это не то, что я искал.
Если что-то подобное действительно существует, это было бы очень полезно.Я также открыт для любых альтернативных методов, которые могут быть предложены.Заранее благодарим за любую помощь, которую вы можете предоставить.