最佳答案
我一直在用 Python 开发一个基于文本的游戏,遇到一个实例,我想根据一组条件对字符串进行不同的格式化。
具体来说,我希望显示描述房间中物品的文本。我希望这是显示在房间的描述,当且仅当项目对象的问题是在房间对象的项目列表。按照设置的方式,我认为简单地基于条件连接字符串不会按照我想要的方式输出,对于每种情况使用不同的字符串会更好。
我的问题是,有没有基于布尔条件结果格式化字符串的 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,但它通常显示了我所寻找的内容。我想知道是否有任何布尔字符串格式的有效表达式,类似于上面。 在搜索了一会儿之后,我找不到任何与条件字符串格式相关的东西。我确实找到了一些关于格式字符串的文章,但这不是我要找的。
如果这样的东西确实存在,那将是非常有用的。我也愿意接受任何可能的替代方法。提前感谢你所能提供的任何帮助。