if what == "decode":
dog_input = input("What would you like to decode?")
letternumber = len(dog_input)
a=(dog_input)
for i in range(a):
if dog_input[1] == "1":
print("a")
if dog_input[1] == "2":
print("b")
if dog_input[1] == "3":
print("c")
if dog_input[1] == "4":
print("d")
if dog_input[1] == "5":
print("e")
if dog_input[1] == "6":
print("f")
if dog_input[1] == "7":
print("g")
if dog_input[1] == "8":
print("h")
if dog_input[1] == "9":
print("i")
if dog_input[2] == "10":
print("j")
if dog_input[2] == "11":
print("k")
if dog_input[2] == "12":
print("l")
if dog_input[2] == "13":
print("m")
if dog_input[2] == "14":
print("n")
if dog_input[2] == "15":
print("o")
if dog_input[2] == "16":
print("p")
if dog_input[2] == "17":
print("q")
if dog_input[2] == "18":
print("r")
if dog_input[2] == "19":
print("s")
if dog_input[1] == "20":
print("t")
if dog_input[2] == "21":
print("u")
if dog_input[2] == "21":
print("v")
if dog_input[2] == "22":
print("w")
if dog_input[2] == "23":
print("x")
if dog_input[2] == "24":
print("y")
if dog_input[2] == "25":
print("z")
if dog_input[3] == "-64":
print(" ")
此代码不执行任何操作 - 它会随机打印三到四次字符。我希望用户输入数字并输出信件,但它拒绝阅读。我如何让它运作?另外,有没有更快的方式为字母分配数字?
答案 0 :(得分:0)
您可以创建一个字典来存储字母及其编号:
dictionary = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8,'i':9,'j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16,'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26,' ':-64}
然后使用Series根据您的案例中的值来获取密钥:
lookup_list = pd.Series(dictionary)
print(lookup_list[lookup_list.values == letternumber ].index)
answer = lookup_list[lookup_list.values == 19].index
答案 1 :(得分:0)
问题:
isUsingCache="true"
这将逐字母地重复字符串或数组,因此将不会检测到两位数的输入。示例:输入12将被视为两个单独的输入1和2.
解决方案:
将输入作为空格分隔数字,并将空间视为分隔符将其分开。请参阅以下代码段
for i in range(a) :
以下代码(仅限循环部分)解决了这个问题,这是为字符分配编号的更好方法。
dog_input_final = dog_input.split(" ")