Python Challenge[1]

[Level 1]


Title: What about making trans?

圖片下方有兩段話,但只有第一段能識別:

everybody thinks twice before solving this.

而圖中K→M,O→Q,E→G,理清其中映射關系,思路就有了。

import string
table = str.maketrans(string.ascii_lowercase,string.ascii_lowercase[2:] + 'ab')
s.translate(table)#s是要轉(zhuǎn)換的字符串

轉(zhuǎn)換第二段話得到:

i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url.

轉(zhuǎn)換url中的map,得到ocr[Level 2]

小結

使用轉(zhuǎn)換表轉(zhuǎn)換每一個字符。

  1. string.ascii_lowercase表示26個順序小寫字母
  2. static str.maketrans(x[, y[, z]]),方法返回用于str.translate()的轉(zhuǎn)換表。
    只一個參數(shù)時,類型必須是dict,鍵為Unicode ordinals(整數(shù))或字符,值為任意長度字符串或者None,鍵對應的字符將被轉(zhuǎn)換為值對應的字符(串);如果有兩個參數(shù),參數(shù)長度必須相等且x中每一個字符對應轉(zhuǎn)換y中每一個字符;如果有第三個參數(shù),對應的字符轉(zhuǎn)換為None。
  3. str.translate(table)返回通過給定的翻譯表映射每個字符的字符串的副本。

Python Challenge Wiki

1. 使用chr()和ord()列表解析

  • "".join(map(lambda x: x.isalpha() and chr((ord(x)+2-ord("a"))%26 + ord("a")) or x, input))
  • "".join([(c.isalpha() and chr(ord('a') + (ord(c)-ord('a')+2)%26) or c) for c in "map"])
思路小解

相同的思路,在Ascii碼和字符之間進行轉(zhuǎn)換得到結果。

  1. str.isalpha()函數(shù)判斷字符串是否是字母。
  2. chr(i)返回表示Unicode碼點為整數(shù)i的字符的字符串;ord(c)返回一個表示該字符的Unicode代碼點的整數(shù)。
  3. map(function, iterable, ...),應用function方法,(并行)返回參數(shù)中的迭代元素。
  4. lambda表達式相當于創(chuàng)建一個匿名函數(shù)。
  5. str.join(iterable),返回迭代器里的所有字符串。

More

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 兩本不錯的書: 《Python參考手冊》:對Python各個標準模塊,特性介紹的比較詳細。 《Python核心編程...
    靜熙老師哈哈哈閱讀 3,446評論 0 80
  • 1. abs(x) abs()函數(shù)返回數(shù)字(可為普通型、長整型或浮點型)的絕對值。如果給出復數(shù),返回值就是該復數(shù)的...
    chen_000閱讀 467評論 0 0
  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數(shù)的絕...
    uangianlap閱讀 1,376評論 0 0
  • 1. abs(x) abs()函數(shù)返回數(shù)字(可為普通型、長整型或浮點型)的絕對值。如果給出復數(shù),返回值就是該復數(shù)的...
    TENG書閱讀 492評論 0 0
  • 老時間,老地點,來了兩個新人。換個位置,換個視角,點份不同的飲品,有很多新的體會。 讀書本來是私密的事情。但是通過...
    屢空閱讀 353評論 1 3

友情鏈接更多精彩內(nèi)容