日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]剛剛開始學(xué)習(xí)python, 于是在OpenStack Hacker養(yǎng)成指南的指示下,登陸了http://www.pythonchallenge.com網(wǎng)站開始做題。 這個(gè)上面的題目都比較好玩, 能讓人

剛剛開始學(xué)習(xí)python, 于是在OpenStack Hacker養(yǎng)成指南的指示下,登陸了http://www.pythonchallenge.com網(wǎng)站開始做題。

這個(gè)上面的題目都比較好玩, 能讓人思考, 這一關(guān)的答案就是下一關(guān)的入口, challenge1讓我學(xué)會(huì)了字符串處理中maketrans and translate的用法。

import string

hint_str = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
"""
len = len(string)
for i in string:
    if i.isalpha():
        new_c = (ord(i)+2)
        if new_c > ord('z'):
            new_c = ord('a')+(ord(i)+1-ord('z'))
        print chr(new_c),
    else:
        print i,

"""
string1 = "abcdefghijklmnopqrstuvwxyz"
string2 = "cdefghijklmnopqrstuvwxyzab"

table = string.maketrans(string1, string2)
print string.translate(hint_str, table)

url = "map"
print string.translate(url, table)
首先maketrans會(huì)根據(jù)給定的兩個(gè)參數(shù)返回一個(gè)字符轉(zhuǎn)換表, 給出的兩個(gè)參數(shù)必須長度相同, 如果轉(zhuǎn)換規(guī)則有沖突的, 那么后面的轉(zhuǎn)換規(guī)則會(huì)覆蓋前面的規(guī)則。

生成的轉(zhuǎn)換表就可以讓 translate函數(shù)來調(diào)用了,下面是translate的文檔說明

translate(s, table, deletions='')
translate(s,table [,deletions]) -> string
?
Return a copy of the string s, where all characters occurring?in the optional argument deletions are removed, and the?remaining characters have been mapped through the given?translation table, which must be a string of length 256. ?The?deletions argument is not allowed for Unicode strings.

如果指定了第三個(gè)參數(shù), 那么就會(huì)在最后返回的字符串中將第三個(gè)參數(shù)中包括的字符刪除掉, translate函數(shù)只有存在于table中的字符才會(huì)給出轉(zhuǎn)換, 負(fù)責(zé)會(huì)維持原來的字符不變。也就是說在string.translate(hint_str, table)執(zhí)行過程中, 如果hint_str中含有a, 那么會(huì)變成c, 如果含有b會(huì)變成d, 里面的空格,引號(hào)等不會(huì)變, 原樣輸出。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉