![](/img/trans.png)
[英]TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' in while loop
[英]While dealing with Dictionary elements in Python faced unsupported operand type(s) for +=: 'int' and 'NoneType'
问题是在运行此代码时,一切都很好:
d={'9h':9, 'Qd':10}
l=['9h', 'Qd', 'test', 'test2']
s=0
for i in range(len(l)):
if l[i] in d:
s += d.get(l[i])
print s
但是在使用类进行操作时,出现错误“ + =不支持的操作数类型:'int'和'NoneType'”
这是我的课程实现:
def __init__(self, plr_cur_value, plr_result_score):
self.plr_cur_value = plr_cur_value
self.plr_result_score = plr_result_score
def deck_adjust(self):
for i in range(len(self.plr_cur_value)):
if self.plr_cur_value[i] in self.d:
self.plr_result_score + = self.d.get(plr_cur_value[i])
return self.plr_result_score
听起来您可能会遇到格式化错误,其中总会执行score += value
行,而value
可能是`None。
另一种可能性是您的字典包含指示的键,但是相应的值为None
。
以下代码可以解决多个问题:
d = {'9h':9, 'Qd':10}
l = ['9h', 'Qd', 'test', 'test2']
s = 0
for i in l:
s += d.get(i, 0)
print(s)
输出:
19
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.