将 secret 消息翻译成真实字母的Python程序

标签 python linux dictionary

我已将这本字典作为 secret 语言,当用户用 secret 语言输入句子时,它应该以真实字母表返回,这是我编写的代码。

secret = {'b' : 'a', 'c' : 'b', 'd' : 'c', 'e' : 'd', 'f' : 'e', 'g' : 'f', 'h' : 'g', 'i' : 'h', 'j' : 'i', 'k' : 'j', 'l' : 'k', 'm' : 'l', 'n' : 'm', 'o' : 'n', 'p' : 'o', 'q' : 'p', 'r' : 'q', 's' : 'r', 't' : 's', 'u' : 't', 'v' : 'u', 'w' : 'v', 'x' : 'w', 'y' : 'x', 'z' : 'y', 'a' : 'z'}

user = raw_input('Please Input A Secret Sentence :')

print (secret[user])

所以我让它工作,但它只在输入 1 个字母时才工作,它不适用于给出此错误的句子:

[student@localhost 1]$ python idk24.py
Please Input A Secret Sentence :aaa
Traceback (most recent call last):
  File "idk24.py", line 5, in <module>
    print (secret[user])
KeyError: 'aaa'

最佳答案

在您的脚本中,您有多个作为字典传递的数字aaa。字典中没有这样的值,因此您的错误。

这是我的建议:

尝试定义一个新变量并使用 for 循环将用户输入拆分为单个字母。将每个单独的字母添加到整个编码句子中并在末尾打印:

secret = {'b' : 'a', 'c' : 'b', 'd' : 'c', 'e' : 'd', 'f' : 'e', 'g' : 'f', 'h' : 'g', 'i' : 'h', 'j' : 'i', 'k' : 'j', 'l' : 'k', 'm' : 'l', 'n' : 'm', 'o' : 'n', 'p' : 'o', 'q' : 'p', 'r' : 'q', 's' : 'r', 't' : 's', 'u' : 't', 'v' : 'u', 'w' : 'v', 'x' : 'w', 'y' : 'x', 'z' : 'y', 'a' : 'z'}

user = raw_input('Please Input A Secret Sentence :')
entire = ""
for i in user:
    entire = entire + secret[i]    

print (entire)

关于将 secret 消息翻译成真实字母的Python程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844007/

相关文章:

python - 使用 Tkinter 在未知长度的可迭代中为每个项目创建一个条目

linux - 从linux启动盘中提取文件

linux - 如果导入“C”,则无法交叉编译

linux - 检查 git 提交是否是一天的第一天的脚本

python - 裁剪特定颜色区域并去除噪声区域(Python+OpenCV)

Python Pandas SQL 风格左连接两个类列表

python - Django 在之前已设置外键的同一记录中填充值

python - 防止 Python 字典发生变异

python - 使用包含索引的字典填充 NumPy 数组

c++ - 无法在 C++ 中使用整数键声明映射