는 지금은 어셈블러 코딩하기 위해 노력하고있어하지만 난이 오류가 계속 :사전 작업시 KeyError를 피하는 방법은 무엇입니까?
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)
도움말이 감사합니다 :
Traceback (most recent call last): File "/Users/Douglas/Documents/NeWS.py", line 44, in if item in registerTable[item]: KeyError: 'LD'
나는 현재이 코드가 있습니다.
수 당신 퍼펙트 들여 쓰기가 맞다면? 코드로 형식을 지정했지만 원하는 들여 쓰기가되었는지 항상 명확히하는 것은 어렵습니다. :) – MSeifert
그냥 옆으로 ... 범위 (16)에서'valueTable = {str (n) : format (n, '04b')}'할 수 있습니다. - 범위를 변경하는 것이 더 쉽고, 복사/붙여 넣기 오류 또는 그렇지 않으면 잘못된 값과 적은 화면 공간을 입력 ... –