【发布时间】:2018-02-11 22:54:34
【问题描述】:
现在我正在尝试编写汇编程序,但我不断收到此错误:
回溯(最近一次通话最后): 文件“/Users/Douglas/Documents/NeWS.py”,第 44 行,在 如果在 registerTable[item] 中的项目: 键错误:'LD'我目前有这个代码:
functionTable = {"ADD":"00",
"SUB":"01",
"LD" :"10"}
registerTable = {"R0":"00",
"R1":"00",
"R2":"00",
"R3":"00"}
accumulatorTable = {"A" :"00",
"B" :"10",
"A+B":"11"}
conditionTable = {"JH":"1"}
valueTable = {"0":"0000",
"1":"0001",
"2":"0010",
"3":"0011",
"4":"0100",
"5":"0101",
"6":"0110",
"7":"0111",
"8":"1000",
"9":"1001",
"10":"1010",
"11":"1011",
"12":"1100",
"13":"1101",
"14":"1110",
"15":"1111"}
source = "LD R3 15"
newS = source.split(" ")
for item in newS:
if item in functionTable[item]:
functionField = functionTable[item]
else:
functionField = "00"
if item in registerTable[item]:
registerField = registerTable[item]
else:
registerField = "00"
print(functionField + registerField)
感谢您的帮助。
【问题讨论】:
-
您能否再次检查缩进是否正确?我将其格式化为代码,但总是很难确定这是否是所需的缩进。 :)
-
顺便说一句...你可以这样做
valueTable = {str(n):format(n, '04b') for n in range(16)}- 这样更容易更改范围,更不容易出现复制/粘贴错误或以其他方式输入不正确的值和更少的屏幕空间...
标签: python dictionary keyerror