[英]How to write the Python code for calculating numbers with alphabet characters
[英]Python code for calculating number of an alphabet
我需要找到字母范圍內的字母數,即a = 1,b = 2,c = 3 ....所以,如果我得到a,則返回值應為1
除了聲明包含受尊重值的26個字母的字典以外,python(in內置)是否提供了一種更短的方法來查找它。
如果您知道這樣的功能,請提供幫助。
只是:
ord(c)%32
可以同時處理上下兩個
如果您只需要A到Z,則可以使用ord:
ord(c) - ord('A') + 1
>>> alphadict = dict((x, i + 1) for i, x in enumerate(string.ascii_lowercase))
>>> alphadict['a']
1
函數ord('a')將在當前文本編碼中返回數字'a'。 您可能會接受並做一些簡單的數學運算以轉換為1、2、3類型映射。
TL; DR
def lettertoNumber(letter):
return ord(letter.upper()) - 64
長期解釋
ord(char)
返回該字符的Unicode數字,但我們正在尋找a = 1, b = 2, c = 3
。
但是在Unicode中,我們得到A = 65, B = 66, C = 67
。
但是,如果我們從所有這些字母中減去64,則得出A = 1, B = 2, C = 3
。 但這還不夠,因為我們也需要支持小寫字母!
由於字母是小寫字母,我們需要使用.upper()
使字母大寫,以便它可以自動使用ord()
而結果不大於26,這在TL; DR節中提供了代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.