Python中的chr()函數(shù)與ord()函數(shù)解析
chr()函數(shù)與ord()函數(shù)解析
chr()函數(shù)
用一個(gè)范圍在 range(256)內(nèi)的(就是0~255)整數(shù)作參數(shù),返回一個(gè)對應(yīng)的字符。返回值是當(dāng)前整數(shù)對應(yīng)的 ASCII 字符。
該函數(shù)的返回值為字符串形式。例如,輸入:chr(90) ,輸出為 ‘Z’ 。
ord()函數(shù)
與chr()函數(shù)對應(yīng),輸入ASCII字符表中字符的字符串形式,返回在字符表中的排序位次。
例如,輸入:ord(“Z”),輸出為 90 。
應(yīng)用:凱撒密碼的加密和解碼
以加密為例,字符轉(zhuǎn)換成數(shù)字,經(jīng)過凱撒密碼規(guī)則運(yùn)算后再轉(zhuǎn)換為對應(yīng)字符。
s = input() t = "" for c in s: ? ? if 'a' <= c <= 'z': ? ? ? ? t += chr( ord('a') + ((ord(c)-ord('a')) + 3 )%26 ) ? ? elif 'A' <= c <= 'Z': ? ? ? ? t += chr( ord('A') + ((ord(c)-ord('A')) + 3 )%26 ) ? ? else: ? ? ? ? t += c print(t)
ord()函數(shù)與chr()函數(shù)的區(qū)別
在python中,今天遇到ord()和chr()函數(shù),不是很明白,就查了下資料,當(dāng)我們需要對字符串進(jìn)行轉(zhuǎn)化為整型時(shí),ord()函數(shù)是用來返回單個(gè)字符的ASCII值(0-255)或者是UNICODE值。
>>> ord("A") 65 >>> ord("a") 97 >>> ord("8") 56
對應(yīng)的chr()函數(shù)是把一個(gè)整數(shù)(0-255)轉(zhuǎn)化為對應(yīng)的ASCII值。
chr(97) 'a' >>> chr(65) 'A'
下面是一個(gè)轉(zhuǎn)化字符串的函數(shù)代碼:
def FormatStrToInt(target): ? ? for i in range(len(target)): ? ? ? ? temp=ord(target[i]) ? ? ? ? print (temp) ? ? return ?if __name__=="__main__": ??? ?FormatStrToInt("abcdefghijk") >>97 98 99 100 101 102 103 104 105 106 107
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python相關(guān)庫設(shè)置技巧保護(hù)你的C盤
這篇文章主要為大家介紹了Python相關(guān)庫設(shè)置,保護(hù)你的C盤技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解
這篇文章主要介紹了Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08用python查找統(tǒng)一局域網(wǎng)下ip對應(yīng)的mac地址
這篇文章主要介紹了用python查找統(tǒng)一局域網(wǎng)下ip對應(yīng)的mac地址的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透
內(nèi)網(wǎng)穿透是一種將內(nèi)部網(wǎng)絡(luò)服務(wù)暴露到公共網(wǎng)絡(luò)的技術(shù),可以讓外部用戶訪問內(nèi)部網(wǎng)絡(luò)上的服務(wù),本文將介紹如何使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透,需要的可以參考下2024-03-03pyinstaller打包單文件時(shí)--uac-admin選項(xiàng)不起作用怎么辦
這篇文章主要介紹了pyinstaller打包單文件時(shí)--uac-admin選項(xiàng)不起作用怎么辦,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04利用Python實(shí)現(xiàn)最小二乘法與梯度下降算法
這篇文章主要介紹了利用Python實(shí)現(xiàn)最小二乘法與梯度下降算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02對numpy 數(shù)組和矩陣的乘法的進(jìn)一步理解
下面小編就為大家分享一篇對numpy 數(shù)組和矩陣的乘法的進(jìn)一步理解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04基于Python實(shí)現(xiàn)對Excel工作表中的數(shù)據(jù)進(jìn)行排序
在Excel中,排序是整理數(shù)據(jù)的一種重要方式,它可以讓你更好地理解數(shù)據(jù),本文將介紹如何使用第三方庫Spire.XLS?for?Python通過Python來對Excel中的數(shù)據(jù)進(jìn)行排序,需要的可以參考下2024-03-03