1 回答

TA贡献1815条经验 获得超10个赞
我首先将一个冗长的“for”语句的混乱重新格式化为如下所示的内容:
for inner_d in glasovne_naredbe.values():
print(inner_d)
...
这将使您的代码更易于您(和其他人)遵循,并将导致答案。
还要确保 max() 正在做你认为它正在做的事情。
这不是一个明确的问题,所以我想这可能会有所帮助。这是一个完全运行的Python解决方案,显示了我认为您的问题所问的问题的解决方案:
glasovne_naredbe = {'glasovno1':
{'komanda': "urllib.urlopen('http://127.0.0.1:8080/json.htm? type=command¶m=switchlight&idx=2&switchcmd=On')",
'hotword': 'svijetlo',
'razlika_izgovoreno_hotword': 0.16666666666666666},
'glasovno2':
{'komanda': "subprocess.Popen(['amixer', 'set', 'Master', '100%'])",
'hotword': 'najglasnije',
'razlika_izgovoreno_hotword': 0.13333333333333333},
'glasovno3':
{'komanda': "subprocess.Popen(['amixer', 'set', 'Master', '10%'])",
'hotword': 'najti\xc5\xa1e',
'razlika_izgovoreno_hotword': 0.36363636363636365},
'glasovno4':
{'komanda': "subprocess.Popen(['amixer', 'set', 'Master', '50%'])",
'hotword': 'srednje glasno',
'razlika_izgovoreno_hotword': 0.2222222222222222},
'glasovno5':
{'komanda': "subprocess.Popen(['amixer', 'set', 'Master', '10%-'])",
'hotword': 'smanji',
'razlika_izgovoreno_hotword': 0.2},
'glasovno6':
{'komanda': "subprocess.Popen(['amixer', 'set', 'Master', '10%+'])",
'hotword': 'poja\xc4\x8daj',
'razlika_izgovoreno_hotword': 0.0}}
max_key,value = next(iter(glasovne_naredbe.items()))
max_value = value['razlika_izgovoreno_hotword']
for key, value in glasovne_naredbe.items():
print(key)
print(value)
new_value = value['razlika_izgovoreno_hotword']
if new_value > max_value:
print("new max")
print(key)
max_value = new_value
max_key = key
print("max key %s" % max_key)
print("corresponding komanda %s" % glasovne_naredbe[max_key]['komanda'])
print("corresponding hotword %s" % glasovne_naredbe[max_key]['hotword'])
print("corresponding r_i_h %s" % glasovne_naredbe[max_key]['razlika_izgovoreno_hotword'])
添加回答
举报