if/else 语句在 python 中接受大写和小写字母的字符串
if/else statements accepting strings in both capital and lower-case letters in python
在 python 中,有没有一种快速的方法可以让 "if" 语句接受一个字符串,无论它是小写、大写还是两者兼而有之?
我正在尝试编写一段代码,其中可以输入数字“3”以及单词 "three" 或 "Three" 或任何其他大写和小写的混合它仍然会被代码中的 "if" 语句接受。我知道我可以使用 "or" 让它接受“3”以及任何其他字符串,但是不知道如何让它在不止一种情况下接受字符串。到目前为止我有:
if (Class == "3" or Class=="three"):
f=open("class3.txt", "a+")
只需转换 Class
to lowercase using 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+")
最后一件事是您可以使用 in
.
同时检查 "3"
和 "three"
if Class.lower() in {"3", "three"}:
f=open("class3.txt", "a+")
当对 if
语句使用 in
时,您有多种选择。您可以使用我使用的集合 {"3", "three"}
、列表 ["3", "three"]
或元组 ("3", "three")
.
最后要注意的是,在 "3"
上调用 str.lower()
或 str.upper()
会给你 "3"
,但是在整数 3
上调用它会引发错误,因此如果 3
作为整数可能是 [=13= 的值,则不能使用 in
].
如果您使用 string.lower()
,您可以将整个字符串变为小写,以便您可以在 if 语句中检查它。只需将字符串替换为您的实际字符串即可。所以Class.lower()
将字符串设为小写。:
Class.lower() == "three"
您可以强制所有字符串都小写,并且只检查小写,如下所示:
if (Class == "3" or Class.lower() == "three"):
f=open("class3.txt", "a+")
通常为了进行不敏感的比较,我会将我的变量设为小写。尽管使用 Class
是一个有风险的名称,因为 class
是关键字,但您可以执行以下操作
Class = Class.lower()
if(Class =="3" or Class=="three"):
以此类推
只有当您不需要为以后的任何事情保留案例时,我才会将它保存为较低的,特别是如果您还有其他比较,比如与 "four"
您可以将 in
运算符与 list
一起使用。
if Class.lower() in ['3', 'three']:
仅供参考 '3'.lower()
returns 字符串 3
.
>>> '3'.lower()
'3'
在 python 中,有没有一种快速的方法可以让 "if" 语句接受一个字符串,无论它是小写、大写还是两者兼而有之?
我正在尝试编写一段代码,其中可以输入数字“3”以及单词 "three" 或 "Three" 或任何其他大写和小写的混合它仍然会被代码中的 "if" 语句接受。我知道我可以使用 "or" 让它接受“3”以及任何其他字符串,但是不知道如何让它在不止一种情况下接受字符串。到目前为止我有:
if (Class == "3" or Class=="three"):
f=open("class3.txt", "a+")
只需转换 Class
to lowercase using 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+")
最后一件事是您可以使用 in
.
"3"
和 "three"
if Class.lower() in {"3", "three"}:
f=open("class3.txt", "a+")
当对 if
语句使用 in
时,您有多种选择。您可以使用我使用的集合 {"3", "three"}
、列表 ["3", "three"]
或元组 ("3", "three")
.
最后要注意的是,在 "3"
上调用 str.lower()
或 str.upper()
会给你 "3"
,但是在整数 3
上调用它会引发错误,因此如果 3
作为整数可能是 [=13= 的值,则不能使用 in
].
如果您使用 string.lower()
,您可以将整个字符串变为小写,以便您可以在 if 语句中检查它。只需将字符串替换为您的实际字符串即可。所以Class.lower()
将字符串设为小写。:
Class.lower() == "three"
您可以强制所有字符串都小写,并且只检查小写,如下所示:
if (Class == "3" or Class.lower() == "three"):
f=open("class3.txt", "a+")
通常为了进行不敏感的比较,我会将我的变量设为小写。尽管使用 Class
是一个有风险的名称,因为 class
是关键字,但您可以执行以下操作
Class = Class.lower()
if(Class =="3" or Class=="three"):
以此类推
只有当您不需要为以后的任何事情保留案例时,我才会将它保存为较低的,特别是如果您还有其他比较,比如与 "four"
您可以将 in
运算符与 list
一起使用。
if Class.lower() in ['3', 'three']:
仅供参考 '3'.lower()
returns 字符串 3
.
>>> '3'.lower()
'3'