为什么会报错是不是逻辑的问题

问题描述:

img


图点进去就不糊了
里面有个地方打漏了 是 if dict[i]==1

s=HappyNationalDay
dict=门
fori ins:
    ifiindict:
         dict[i]+=1
     8188!
        dictil=1
print(dict)
foriin range(len(dict)):
       ifdict[i]:
         dict[i]=False
       e1se:
           dict[i]=True
print(dict.keys())
print(dict)
Python3.8.0Shell 口
File Edit Shell Debug Options Window Help
Python3.8.0(tags/v3.8.0:fa919fd,Oct142019,19:37:50)[MSCW.191664bit(AM
D64]onwin32
Typehelp', copyright”,“credits”or“license()”for more information
>>
                  RESTART:C:UsersAdministratorDesktop t22.py
fH: a:4,p:2,y:2N:1,t:1,1:1.:1n:1.1:1.
  D:
Traceback(most recent calllast):
  File”C:UsersAdministratorDesktopt22.py”,1ine 10,in(module>
   ifdicti]:
KeyError:0
>>>

字典要使用方法来判断是否存在指定键,不能直接取值,取到不存在的就会报错

方法比较笨

如果想遍历所有的值,可以用
for key in dict.keys():
if dict[key] :
这样的方式
这样是不是可以采纳呀🙂