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_uppercase
和 string.ascii_lowercase
中的索引值,然后使用这个索引值从对应的字符串中取出对应的字母。
最后,我们分别输出了转换后的字符串 lowercase_text
和 uppercase_text
。
可以使用以下代码实现同时转换大小写:
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.