python-3.x 如何在同一个变量中输入大小写字母而不需要重复输入两次?[duplicate]

lh80um4z  于 2023-04-08  发布在  Python
关注(0)|答案(2)|浏览(73)

此问题已在此处有答案

How do I do a case-insensitive string comparison?(15个回答)
6天前关闭
这篇文章是编辑并提交审查6天前.
我需要在self.all = variable.startswith(('a', 'e' , 'i', 'o', 'u'))中使用小写的(a, e, i, o, u)和大写的(A, E, I, O, U)
我指定,我不希望两个变量为苹果和苹果,但始终使用相同的变量x(其中我将手动更改苹果或苹果)。
我在Stackoverflow上搜索了其他问题,但只有2个变量/字符串的解决方案,这不是我要找的,所以这个问题不重复。
我想要的是在x中写入Apple和在x中写入apple时都打印ok。因此,我希望您手动将Apple替换为apple并尝试正确打印ok

x = "Apple"

class Vocal:
    def __init__(self, variable):
        self.all = variable.startswith(('a', 'e', 'i', 'o', 'u'))
        
vocal = Vocal(x)

if vocal.all:
    print(x, ": ok")
else:
    print(x, ": no")
pcww981p

pcww981p1#

您可以在检查之前将字符串转换为小写。

variable.lower().startswith(('a', 'e', 'i', 'o', 'u'))

或者,您可以使用带有忽略大小写标志的正则表达式。

bool(re.match('(?i)[aeiou]', variable))
tyg4sfes

tyg4sfes2#

可以使用.upper()命令或.lower()命令将字符串中的所有字符转换为大写或小写

class Vocal:
    def __init__(self, variable):
        self.Vocal = variable.lower().startswith(('a', 'e', 'i', 'o', 'u'))

相关问题