我想创建一个简单的密码,在其中使用电话号码来代替字母(给定输入)。
下面是我的代码,显示我正在尝试仅使用示例文本,但是我收到了错误代码:'L'
def main():
phoneCipher = {'id' : A, 'val': 2},{'id' : B, 'val': 22},{'id' : C, 'val': 222},{'id' : D, 'val': 3},{'id' : E, 'val': 33},{'id' : F, 'val': 333},{'id' : G, 'val': 4},{'id' : H, 'val': 44},{'id' : I, 'val': 444},{'id' : J, 'val': 5},{'id' : K, 'val': 55},{'id' : L, 'val': 555},{'id' : M, 'val': 6},{'id' : N, 'val': 66},{'id' : O, 'val': 666},{'id' : P, 'val': 7},{'id' : Q, 'val': 77},{'id' : R, 'val': 777},{'id' : S, 'val': 7777},{'id' : T, 'val': 8},{'id' : U, 'val': 88},{'id' : V, 'val': 888},{'id' : W, 'val': 9},{'id' : X, 'val': 99},{'id' : Y, 'val': 999},{'id' : Z, 'val': 9999}
#THIS PART IS NOT WORKING BUT IS PART OF WHAT I WANT TO BE ABLE TO DO
originalMessage = input("Please input your message to be hidden: ")
print(originalMessage)
oMessageSplit = originalMessage.split()
print(oMessageSplit)
sampleList = ['L', 'O', 'L']
phoneCipherDict = dict((x['id'], x['val']) for x in phoneCipher)
listCiphered = [phoneCipherDict[x] for x in sampleList]
print(listCiphered)
main()
我的分析和反馈需要: 我相信这似乎是错误的,也许它不是一个整数vs一个实际的字符串。如果没有可能的方法做到这一点,有人能指出我正确的方向使用什么方法来做这样的事情?
答案 0 :(得分:1)
试试这个:
phoneCipher = {'id' : 'A', 'val': 2},{'id' : 'B', 'val': 22},{'id' : 'C', 'val': 222},...
密钥应为字符串'L'
,只有L
会尝试使用变量L
的值作为密钥。
<强>更新强>
要从字符串创建列表,请使用
sampleList = list(originalMessage)
答案 1 :(得分:1)
您无需执行originalMessage.split()
,只会将'LOL'
拆分为['LOL']
。
一个简单的list(originalMessage)
很好。你甚至不需要这样做,因为for char in 'LOL'
是一样的。
答案 2 :(得分:0)
你的词典应该是这样的:
phoneCipher = {'A': 2, 'B': 22, ...}