当前位置: 首页 > 面试题库 >

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

卫高明
2023-03-14
问题内容

我一直在使用Python开发基于文本的游戏,并且遇到了一个实例,在该实例中我想根据一组条件以不同的方式设置字符串格式。

具体来说,我想显示描述房间中物品的文字。我希望在且仅当有问题的项目对象在房间对象的项目列表中时,才在房间的描述中显示此内容。设置方式方面,我觉得仅根据条件连接字符串不会如我所愿地输出,最好为每种情况使用不同的字符串。

我的问题是,是否有任何基于布尔条件的结果格式化字符串的pythonic方法?我可以使用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,但通常可以显示我在寻找什么。我想知道是否有任何有效的布尔字符串格式表达式,类似于上面。经过一番搜索之后,我找不到与条件字符串格式特别相关的任何内容。我确实找到了几篇有关格式字符串的文章,但这不是我想要的。

如果确实存在类似的东西,那将非常有用。我也对可能提出的其他替代方法持开放态度。在此先感谢您提供的任何帮助。


问题答案:

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

>>> gender= "male"
>>> print "At least, that's what %s told me." %("he" if gender == "male" else "she")
At least, that's what he told me.

不过,更现代的风格用途.format是:

>>> s = "At least, that's what {pronoun} told me.".format(pronoun="he" if gender == "male" else "she")
>>> s
"At least, that's what he told me."

dict您可以根据自己喜欢的复杂性来构建format参数。



 类似资料:
  • 问题内容: 分割字符串时,如何确定 分隔符是否位于两个字符之间,将不会考虑该分隔符 ? 问题答案: 答案结尾处的首选方法 看来您正在寻找环顾四周的机制。 例如,如果您想在没有之前和之后没有空格的空白处进行拆分,则您的代码可以像 更新 (假设没有任何嵌套,并且它们的格式正确,例如全部用封闭): 您的情况似乎更复杂。你能做的就是接受如果 它没有任何东西或之后, 或者如果该逗号后的第一个左括号,则该逗号

  • 本文向大家介绍sqlServer实现去除字符串空格,包括了sqlServer实现去除字符串空格的使用技巧和注意事项,需要的朋友参考一下  说起去除字符串首尾空格大家肯定第一个想到trim()函数,不过在sqlserver中是没有这个函数的,却而代之的是ltrim()和rtrim()两个函数。看到名字所有人都 知道做什么用的了,ltrim()去除字符串左边的空格,rtrim()去除字符串右边的空格,

  • 问题内容: 是否可以使用Python的语法仅替换某些键。 考虑以下示例: 哪个返回 有没有办法做到这一点? 问题答案: 我使用了一个更简单的解决方法: 可以使用dict中的更多键轻松扩展此功能,即使搜索字符串不存在也不会抱怨。可能会进行改进以提供更多的功能,但这对我来说已经足够了。

  • 我正在尝试对输入xml文件进行条件检查,并放置值。 输入xml: 如果newwo是1,那么我必须将输出设置为“NEW”或“OLD” 预期产出为: 我的xslt是: 请帮帮我。事先谢谢!

  • 我有以上一段代码,想截取两个标签之间的所有文本 responseText.split('<h') 可 <h 会将 hr 也排除出来,结果如下: 可我想要的结果是如下这样: 请问如何在 .split() 添加条件筛选呢?

  • 本文向大家介绍JavaScript实现格式化字符串函数String.format,包括了JavaScript实现格式化字符串函数String.format的使用技巧和注意事项,需要的朋友参考一下 在js开发中,我们可能会遇到这样一个问题 当需要通过js动态插入html标签的时候 特别是当遇到大量的变量拼接、引号层层嵌套的情况,会出现转义字符问题,经常出错 我们来看个例子 运行直接报错 接下来把转义