我想用python编写自己的低级函数
就像我们使用的:
>&燃气轮机;“你好,世界!”。lower()
>&燃气轮机;你好,世界强>
我想做我自己的低级功能
我尝试了以下代码:
String = "Hello, World!"
def lowerFunction(MyStr):
if "A" in MyStr:
MyStr = MyStr.replace("A",'a')
if "B" in MyStr:
MyStr = MyStr.replace("B",'b')
if "C" in MyStr:
MyStr = MyStr.replace("C",'c')
if "D" in MyStr:
MyStr = MyStr.replace("D",'d')
if "E" in MyStr:
MyStr = MyStr.replace("E",'e')
if "F" in MyStr:
MyStr = MyStr.replace("F",'f')
if "G" in MyStr:
MyStr = MyStr.replace("G",'g')
if "H" in MyStr:
MyStr = MyStr.replace("H",'h')
if "I" in MyStr:
MyStr = MyStr.replace("I",'i')
if "J" in MyStr:
MyStr = MyStr.replace("J",'j')
if "K" in MyStr:
MyStr = MyStr.replace("K",'k')
if "L" in MyStr:
MyStr = MyStr.replace("L",'l')
if "M" in MyStr:
MyStr = MyStr.replace("M",'m')
if "N" in MyStr:
MyStr = MyStr.replace("N",'n')
if "O" in MyStr:
MyStr = MyStr.replace("O",'o')
if "P" in MyStr:
MyStr = MyStr.replace("P",'p')
if "Q" in MyStr:
MyStr = MyStr.replace("Q",'q')
if "R" in MyStr:
MyStr = MyStr.replace("R",'r')
if "S" in MyStr:
MyStr = MyStr.replace("S",'s')
if "T" in MyStr:
MyStr = MyStr.replace("T",'t')
if "U" in MyStr:
MyStr = MyStr.replace("U",'u')
if "V" in MyStr:
MyStr = MyStr.replace("V",'v')
if "W" in MyStr:
MyStr = MyStr.replace("W",'w')
if "X" in MyStr:
MyStr = MyStr.replace("X",'x')
if "Y" in MyStr:
MyStr = MyStr.replace("Y",'y')
if "Z" in MyStr:
MyStr = MyStr.replace("Z",'z')
return MyStr
print(lowerFunction(String))
但是这个代码太大了,我们可以用不同的技术来实现吗?
提前谢谢
代码中有太多的挑战
执行多重替换语句。对于这些步骤中的每一步,python都会在内部创建一个新字符串。在Python中,字符串是不可变的
如果条件允许,太多了
使用
ord
和chr
检查其是大写字符还是小写字符可以使用ascii替换字符
这将检查字符是否在大写字母中,并将其替换为小写字母
Python有特殊的函数来翻译字符-
str.translate()
它需要
str.maketrans('ABC', 'abc')
来创建查找表但是您不必手动写入
ABC...Z
和abc...z
,因为它位于变量string.ascii_uppercase
,string.ascii_lowercase
中结果
当然,与其他解决方案一样,这只适用于ASCII
对于Unicode,它需要
maketrans()
中的所有字符顺便说一句:使用此选项,您可以使用ROT13加密文本
结果
相关问题 更多 >
编程相关推荐