简短的rot13函数-Python
我正在Python中寻找一个简短而又酷的rot13函数;-)我编写了这个函数:
def rot13(s): chars = "abcdefghijklmnopqrstuvwxyz"
trans = chars[13:]+chars[:13]
rot_char = lambda c: trans[chars.find(c)] if chars.find(c)>-1 else c
return ''.join( rot_char(c) for c in s )
谁能做得更好?例如,支持大写字符。
回答:
这是一个maketrans / translate解决方案
import stringrot13 = string.maketrans(
"ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz",
"NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm")
string.translate("Hello World!", rot13)
# 'Uryyb Jbeyq!'
以上是 简短的rot13函数-Python 的全部内容, 来源链接: utcz.com/qa/400161.html