您的d没有’今日’你的d[‘1.0’]==0恒成立您要改写成(0<=key<=4 and d[key]==0) or (5<=key<=24 andd[key]==1) 另外加上今日Sorry, key要先转int我有可能误解题意,不过我是觉得,改成以下这样:for key in d:if d['今日'==1 and(0<=int(float(key))<=4 and d[key]==0)or (5<=int(float(key))<=24 and d[key]==1): ...d[‘今日 应该是 d[‘今日‘]少个 ]如果只是d值为1时执行,为0时不执行。最后不用那么麻烦,直接改成for key , v in d.items(): If 1==v: os.system(...)