首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

pythonchallenge_二

2013-12-11 
pythonchallenge_2def decode(aString):resultfor i in range(len(aString)):if ord(aString[i]) 97

pythonchallenge_2

def decode(aString):    result=''    for i in range(len(aString)):        if ord(aString[i]) >=97 and ord(aString[i])<=122:            if ord(aString[i])+2>=122:                result+=chr((ord(aString[i])+2)%122+96)            else:                result+=chr(ord(aString[i])+2)        else:            result+=aString[i]    print result

?观察图可以看出,类似于凯撒密码之类的,由于字符串不可变,不接受赋值运算,所以利用了一个新的字串,逐步的解析原来的字符串,然后按照规则将对应的value的字母逐个添加到新的字符串中。

其中会有一个循环的操作,超过之后是其他的字符不是字母,需要一个求模的运算。

最后 ,翻译过来之后说建议使用。string.maketrans() is recommended

热点排行