怎么用这两个函数同时转换大小写?

img


用string.ascii_lowercase和string.ascii_uppercase
找了好久没有答案TT
是同时转换!!
提前感谢各位!

def conv(c):
    if 'a' <= c <= 'z': return chr(ord(c) - 32)
    if 'A' <= c <= 'Z': return chr(ord(c) + 32)
    return c
s = "abcABC123"
s = ''.join(map(conv, s))
print(s)

下面是使用 string.ascii_lowercase 和 string.ascii_uppercase 同时转换大小写的 Python 代码:

import string

# 定义一个字符串
text = 'Hello, World!'

# 将大写字母转换为小写字母(同时保留非字母字符)
lowercase_text = ''
for char in text:
    if char in string.ascii_uppercase:
        lowercase_text += string.ascii_lowercase[string.ascii_uppercase.index(char)]
    else:
        lowercase_text += char

print(lowercase_text)

# 将小写字母转换为大写字母(同时保留非字母字符)
uppercase_text = ''
for char in text:
    if char in string.ascii_lowercase:
        uppercase_text += string.ascii_uppercase[string.ascii_lowercase.index(char)]
    else:
        uppercase_text += char

print(uppercase_text)

上述代码中,我们首先导入了 Python 内置模块 string,该模块包含了一些字符串相关的常量和函数。其中,string.ascii_lowercase 表示所有小写字母,string.ascii_uppercase 表示所有大写字母。

接着,我们定义了一个字符串 text,并分别使用循环结构将其中的大写字母转换为小写字母,以及将其中的小写字母转换为大写字母。

在循环中,我们使用了 string.ascii_uppercase.index(char)string.ascii_lowercase.index(char) 分别获取字符在 string.ascii_uppercasestring.ascii_lowercase 中的索引值,然后使用这个索引值从对应的字符串中取出对应的字母。

最后,我们分别输出了转换后的字符串 lowercase_textuppercase_text

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    可以使用以下代码实现同时转换大小写:

    import string
    
    def convert_case(string_to_convert):
        converted_string = ""
        for char in string_to_convert:
            if char in string.ascii_lowercase:
                converted_string += char.upper()
            elif char in string.ascii_uppercase:
                converted_string += char.lower()
            else:
                converted_string += char
        return converted_string
    

    这个函数中,我们使用循环遍历输入的字符串中的每一个字符。对于每一个字符,我们先判断它是否在string.ascii_lowercase中(即是否为小写字母),如果是,就使用upper()方法将这个字符转换为相应的大写字母,并将它附加到我们正在构建的新字符串中。如果当前字符不是小写字母,我们检查它是否是大写字母,如果是,就使用lower()方法将字符转换为相应的小写字母。最后,如果字符既不是小写字母也不是大写字母,就将其原样复制到新字符串中。

    我们可以使用以下代码测试这个函数:

    print(convert_case("ThIs iS a TeSt StRiNg."))
    

    这个代码将输出转换后的字符串:

    tHiS Is A tEsT sTrInG.
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^