Sof*_*fia 8 python if-statement lowercase capitalize uppercase
有一个"if"语句接受字符串的快速方法,无论它是小写,大写还是两者都在python中?
我正在尝试编写一段代码,其中可输入数字"3"以及"三"或"三"或任何其他资本和小写的混合,它仍将被"如果"代码中的陈述.我知道我可以使用"或"来接受"3"以及任何其他字符串但是不知道如何让它在多个案例中接受字符串.到目前为止,我有:
if (Class == "3" or Class=="three"):
f=open("class3.txt", "a+")
Run Code Online (Sandbox Code Playgroud)
Tan*_*lam 11
您可以使用in运算符list.
if Class.lower() in ['3', 'three']:
Run Code Online (Sandbox Code Playgroud)
仅供参考'3'.lower()返回字符串3.
>>> '3'.lower()
'3'
Run Code Online (Sandbox Code Playgroud)
只需Class使用str.lower()并测试它即可转换为小写.
if Class == "3" or Class.lower() == "three":
f=open("class3.txt", "a+")
Run Code Online (Sandbox Code Playgroud)
当然,你也可以使用str.upper().
if Class == "3" or Class.upper() == "THREE":
f=open("class3.txt", "a+")
Run Code Online (Sandbox Code Playgroud)
最后一件事是你可以检查"3"并"three"同时使用in.
if Class.lower() in {"3", "three"}:
f=open("class3.txt", "a+")
Run Code Online (Sandbox Code Playgroud)
当使用in一个if说法,你有几种选择.您可以使用{"3", "three"}我使用的集合,列表["3", "three"],或元组("3", "three").
最后要注意的是,调用str.lower()或str.upper()on "3"会给你"3",但是在整数上调用它3会抛出一个错误,所以你不能使用inif 3作为一个整数是一个可能的值Class.