重複の可能性:
出力の変更
これはコードです:
def voting_borda(args):
results = {}
for sublist in args:
for i in range(0, 3):
if sublist[i] in results:
results[sublist[i]] += 3-i
else:
results[sublist[i]] = 3-i
winner = max(results, key=results.get)
return winner, results
print(voting_borda(
['GREEN','NDP', 'LIBERAL', 'CPC'],
['GREEN','CPC','LIBERAL','NDP'],
['LIBERAL','NDP', 'CPC', 'GREEN']
))
生成される出力は
"('GREEN', {'LIBERAL': 5, 'NDP': 4, 'GREEN': 6, 'CPC': 3})"
出力にパーティ名(liberal、ndp、green、cpc)を含めたくないのですが、必要なのは値だけです。それを実現するためにコードを編集するにはどうすればよいですか?
編集:
上記のコードをテストした後に表示されたエラーメッセージ(with:>>>voting_borda([['NDP'、'CPC'、'GREEN'、'LIBERAL']、['NDP'、'CPC'、'LIBERAL'、 'GREEN']、['NDP'、'CPC'、'GREEN'、'LIBERAL']])
トレースバック(最後の最後の呼び出し):ファイル ""、1行目、voting_borda([['NDP'、'CPC'、'GREEN'、'LIBERAL']、['NDP'、'CPC'、'LIBERAL'、 'GREEN']、['NDP'、'CPC'、'GREEN'、'LIBERAL']])ファイル "C:\ Users \ mycomp \ Desktop \ work \ voting_systems.py"、144行目、voting_borda勝者= max (results、key = results.get)NameError:グローバル名'results'が定義されていません