【问题标题】:How to use str.startswith with multiple strings? [duplicate]如何将 str.startswith 与多个字符串一起使用? [复制]
【发布时间】:2021-08-16 21:22:55
【问题描述】:

我尝试使用 or 函数为同一输出输入多个单词,但它只将第一个单词作为输入,而不是其余单词。我该如何解决这个问题?谢谢! 例如:

message.content.startswith("hi" or "hey")

只接受“hi”作为输入,而不接受“hey”。

我尝试将单词添加到列表中,但效果不佳。我对编码比较陌生,所以如果这是一个愚蠢的问题,我很抱歉

【问题讨论】:

  • startswith 可能只是标准的内置字符串方法。而startswith("hi" or "hey") 等价于startswith("hi")。您需要通过两次调用startswith 来手动检查两者。
  • 啊,我怕是这样。现在我必须手动输入所有功能。谢谢!
  • 我不确定您所说的“现在我必须手动输入所有功能。”是什么意思。你可以做msg = message.content; msg.startswith("hi") or msg.startswith("hey")。为了简洁起见,我介绍了msg
  • 你可以在这里使用内置的anyany(message.content.startswith(s) for s in ["hi", "hey"])
  • 这能回答你的问题吗? str.startswith with a list of strings to test for

标签: python discord


【解决方案1】:

你可以这样编码:

message.content.startswith(("hi", "hey"))

从 Python documentationstr.startswith(prefix[, start[, end]]),我已经添加了重点:

如果字符串以前缀开头返回True,否则返回 False前缀也可以是要查找的前缀元组。和 可选开始,从该位置开始的测试字符串。带可选 结束,停止在该位置比较字符串。

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 2017-04-27
    • 2020-10-05
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2020-08-19
    • 1970-01-01
    相关资源
    最近更新 更多