[英]How to convert number to its corresponding alphabet
例如, 1
应该给我字母a
,
2 > b
3 > c
...
26 > a
And 27 should give an again
28 > b
.. Till 9999
以下代码仅适用于 26 个数字
import string
di=dict(zip(string.letters,[ord(c)%32 for c in string.letters]))
di['c']
Output 是3
。
有人可以帮忙吗?
这会做
def num2char(num):
return chr(((num-1) % 26) + ord('a'))
您不需要通过字典 go 以这种方式将数字转换为字母。 您可以将模应用于一串字母中的位置
letters = "abcdefghijklmnopqrstuvwxyz"
for i in range(1,1000):
print(i,">",letters[(i-1)%26])
output:
1 > a
2 > b
3 > c
4 > d
5 > e
6 > f
7 > g
8 > h
9 > i
10 > j
11 > k
12 > l
13 > m
14 > n
15 > o
16 > p
17 > q
18 > r
19 > s
20 > t
21 > u
22 > v
23 > w
24 > x
25 > y
26 > z
27 > a
28 > b
29 > c
...
看看其中任何一个是否是您正在寻找的:
print (ord ('a') - 96)
print (chr (1 + 96))
你的数据结构很奇怪。 如果您的输入字母表包含 9999 个符号,那么您需要一个包含那么多元素的字典。 但实际上你根本不需要字典,只需观察输入数字模 26 加 1 映射到以a
开头的字符代码。
def strmap(numbers):
base = ord('a')
mapped = [chr(base + (n-1)%26) for n in numbers]
return ''.join(mapped)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.