python - 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)```
解决方案
我认为您想获取一组输入数字并遍历它们。如果您对 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
推荐阅读
- python - 将数据框第一行的单元格值与其他行的单元格值进行比较
- c++ - 没有诊断 std::index_sequence 中的包扩展
- python - google.protobuf.message.DecodeError:标签中的电线类型错误
- python - 创建 Csv Dataframe 时用分号替换逗号
- angular - 我无法使用 BehaviorSubject 正确配置 Angular 服务测试以发出状态对象
- azure - 如何使 azure external.metrics.k8s 适配器工作?
- reactjs - 不清楚 React Pixi 的“withPixiApp”的含义/用法
- laravel - laravel 6.0 belongsTo 与 ApplicationService
- django - django中的多数据库实现
- c++ - 不能在 Catch 测试中使用重载比较运算符