首页 > 解决方案 > chr() 的多个输入数字

问题描述

我试图输入多个数字,例如

[106, 103, 110, 110, 113, 32, 121, 113, 116, 110, 102] 

使用 进入解密ord(),然后通过凯撒密码输入。凯撒密码有效,但我不知道如何使用chr(),但它表明当我输入数字时这是一个错误。谢谢!

    print("Decryption")
    text = int(input("Enter encrypted numbers: \n"))
    encrypt = chr(text)
    decrp_key = int(input("Enter key:\n"))
    decrypted_text = ""
    for i in range(len(encrypt)):
        if ord(encrypt[i]) == 32:
            decrypted_text += chr(ord(encrypt[i]))
        elif ((ord(encrypt[i]) - decrp_key) < 97) and ((ord(encrypt[i]) - decrp_key) > 90):
            temp = (ord(encrypt[i]) - decrp_key) + 26
            decrypted_text += chr(temp)
        elif (ord(encrypt[i]) - decrp_key) < 65:
            temp = (ord(encrypt[i]) - decrp_key) + 26
            decrypted_text += chr(temp)
        else:
            decrypted_text += chr(ord(encrypt[i]) - decrp_key)
    print("Decrypted Text: " + decrypted_text)```

标签: pythonchr

解决方案


我认为您想获取一组输入数字并遍历它们。如果您对 python 相当陌生,您可能需要学习一些命令,但这里有一些您可以使用的东西。

decrp_key = input("Enter key:\n")
decrypted_text = list(map(int,decrp_key.split(',')))
print (decrypted_text)

输出:

>>> Enter key:
>>> 1, 105, 201, 103, 205
>>> [1, 105, 201, 103, 205]

要访问该列表,您可以使用 for 循环。

for i in decrypted_text:
    print(i)

输出:

1
105
201
103
205

推荐阅读