处理一个python程序,该程序从文本文件中获取输入指令并将它们写入列表中的字典。 当我尝试运行or_inst函数时出现错误:
def or_inst(contextStack, varName, arg1, arg2):
checkExists(contextStack, arg1)
checkExists(contextStack, arg2)
for context in contextStack:
if (lookup(contextStack, arg1) == 't' or lookup(contextStack, arg2) == 't'):
assignValue(context, varName, 't')
else:
assignValue(context, varName, 'f')
其中contextStack是包含字典上下文的列表 输入指令是:
或d b b
和contextStack是:
('c':'f','b':'f','a':'t')
assignValue是:
def assignValue(contextStack, varName, value):
print(contextStack, varName, value)
for context in contextStack:
context[varName] = value
我认为错误来自于在值位置使用字符串't'(至少从我已经查找过的内容)。我还有其他选择吗?
答案 0 :(得分:0)
如果ul li ul:parent:after {
border: 5px solid transparent;
border-left: 8px solid #522;
width: 0;
height: 0;
content: "";
display: inline-block;
transform: rotate(90deg);
margin-right: 5px;
}
中的contextStack
确实是字典,那么当您使用 -
assignValue
for context in contextStack:
将是字典中的关键字(我猜这是一个字符串,来自你的错误),你不能context
。
如果您的目标是将context[varName] = value
词典中varnName
键的值更改(或添加)到contextStack
,那么您应该只使用 -
value