我有一些代码需要输入字符串, 使用字典将其转换为整数列表 然后从该列表和字母列表生成字典 (我想使用字母列表作为键)
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','p','q','r',
's','t','u','v','w','x','y','z',' ','.','-','-',',','!','?']
def gen_dict() :
key_dict = {'a':'00', 'b':'01', 'c':'02', 'd':'03', 'e':'04', 'f':'05',
'g':'06', 'h':'07', 'i':'08', 'j':'09', 'k':'10', 'l':'11',
'm':'12', 'n':'13', 'o':'14', 'p':'15', 'q':'16', 'r':'17',
's':'18', 't':'19', 'u':'20', 'v':'21', 'w':'22', 'x':'23',
'y':'24', 'z':'25', ' ':'26', '.':'27', '-':'28', ',':'29',
'!':'30', '?':'31'}
print(key_dict)
p= 0
key = key.lower()
for character in key:
keyint.append(key_dict[message[p]])
p += 1
letter-num_dict = {k:v for k,v in zip(alphabet,keyint)}
print(letter-num_dict)
key = input()
gen_dict()
但是该程序甚至无法运行, 而是显示错误消息:
letter-num_dict = {k:v表示zip中的k,v(字母,keyint)} ^ SyntaxError:无法分配给运算符
由于类似的原因,我在网上找不到其他任何东西得到此错误消息,因此我们将不胜感激。
答案 0 :(得分:2)
您不能在变量名称中使用连字符。
将letter-num_dict
更改为letter_num_dict
(或等效名称)。
答案 1 :(得分:1)
变量名称中不能包含短划线(-
),因为Python将其解释为减运算符。将其更改为下划线:letter_num_dict