关于python:如何将随机数转换为相应的字母?

How to convert a random number to its corresponding letter?

本问题已经有最佳答案,请猛点这里访问。

我查过这个,没有发现有用的东西所以我想取一个未知的数字(1-26)并把它转换成相应的字母。

例子:

1
2
3
4
5
6
7
8
import random
rand_let = random.randint(1,26)
print(rand_let)
#Insert the numb letter converter here
print(rand_let) # This is the changed version
output:
3
C


chr()是您的转换器功能。偏移量为64,因为要使用的数字来自ASCII字符表(即:A=65,B=66,…):

1
2
3
4
5
# import random
# rand_let = random.randint(1,26)
# print(rand_let)
rand_let = chr(rand_let + 64)
# print(rand_let) # This is the changed version

有几种方法可以做到这一点。首先,您可以创建一个字典并将字母指定为数字。另一种方法是找到chr()代码号,然后使用随机数生成器来选择char num。这是我推荐的方法。

1
2
3
4
5
6
7
# imports
import random
# pick a random number between the ord of 'a' and the ord of 'z' Google these for
# more info
pick = random.randint(ord('a'), ord('z'))
# print the char of the ord of the random number picked
print(chr(pick))


解决这个问题的一种方法是制作一堆这样的:

1
2
if rand_let == 1:
    print("A")

另一个简单的方法是制作一个字母列表,然后用rand-let-1索引请求字母(因为列表中的第一件事的索引为0)。

1
2
3
LetterList = ["A","B","C","D","E","F", and so on...]
letter = LetterList[rand_let-1]
print(letter)