if / else语句在python中同时接受大写和小写字母的字符串

发布于 2021-01-29 16:26:09

是否有一种“ if”语句可以快速接受字符串的方法,而不管它在python中是小写,大写还是二者兼而有之?

我正在尝试编写一段代码,在其中可以输入数字“ 3”以及单词“三”或“三”或其他任何大写和小写字母的组合,但仍会被“代码中的“ if”语句。我知道我可以使用“
or”使其接受“ 3”以及任何其他字符串,但是在多种情况下,我不知道如何使它接受字符串。到目前为止,我有:

if (Class == "3" or Class=="three"):
    f=open("class3.txt", "a+")
关注者
0
被浏览
177
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    只需将其转换Class为小写str.lower()并进行测试即可。

    if Class == "3" or Class.lower() == "three":
        f=open("class3.txt", "a+")
    

    当然,您也可以使用str.upper()

    if Class == "3" or Class.upper() == "THREE":
        f=open("class3.txt", "a+")
    

    最后一件事是您可以使用检查"3""three"同时使用in

    if Class.lower() in {"3", "three"}:
        f=open("class3.txt", "a+")
    

    当使用in一个if说法,你有几种选择。您可以使用一个集合({"3", "three"}我使用过),一个列表["3", "three"]或一个元组("3", "three")

    最后要注意的一点是,调用str.lower()str.upper()on"3"会给您"3",但调用整数3会抛出错误,因此您不能使用inif3作为整数可能是的值Class



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看