如何实现条件字符串格式?

我一直在用Python开发一个基于文本的游戏,我遇到了一个实例,我想根据一组条件对字符串进行不同的格式化

具体来说,我希望显示描述房间中项目的文本。我希望在房间的描述中显示此信息,前提是且仅当相关项目对象位于房间对象的项目列表中。在设置的方式上,我觉得简单地基于条件串接字符串不会像我所希望的那样输出,最好为每种情况使用不同的字符串

我的问题是,是否有任何pythonic方法可以根据布尔条件的结果格式化字符串?我可以使用for循环结构,但我想知道是否有更简单的方法,类似于生成器表达式

我正在寻找类似的东西,字符串形式

num=[x表示x范围内的x(1100),如果x%10==0]

作为我的意思的一般示例:

打印“至少,这是%s告诉我的。”%(“他”如果性别==“男性”,否则:“她”)

我意识到这个示例不是有效的Python,但它总体上显示了我所寻找的内容。我想知道是否有类似于上面的布尔字符串格式的有效表达式。
在搜索了一段时间后,我找不到任何与条件字符串格式有关的内容。我确实发现了一些关于格式字符串的帖子,但这不是我想要的

如果确实存在这样的情况,那将非常有用。我也愿意接受任何可能建议的替代方法。提前感谢您提供的任何帮助

如果删除两个字符,逗号和冒号,则代码实际上是有效的Python

&gt&燃气轮机&燃气轮机;性别=“男性”
&燃气轮机&燃气轮机&燃气轮机;打印“至少,这是%s告诉我的。”%(“他”如果性别=“男性”否则“她”)
至少,他是这么告诉我的。

更现代的样式使用.format,不过:

&gt&燃气轮机&燃气轮机;s=(至少,{deon}是这么告诉我的。”.format(deon=“he”如果性别==”男性”否则”她”)
&燃气轮机&燃气轮机&燃气轮机;s
“至少,他是这么告诉我的。”

其中格式化的参数可以是一个dict,您可以按照自己喜欢的复杂程度进行构建

发表评论