You need to enable JavaScript to run this app. 如何使用sorted函数处理整数投票结果列表按字母序输出政党得票
优惠活动
大模型
产品
解决方案
定价
更多

如何使用sorted函数处理整数投票结果列表按字母序输出政党得票

问题原因

你当前的代码存在两处需要调整的逻辑:

  • 初始输入逻辑冗余:你在进入循环前先调用了一次input()获取第一个政党名称,进入循环后又立刻调用了一次input()覆盖了之前的值,会导致第一个输入的政党名称没有被统计。
  • 遍历字典未排序:Python中直接遍历字典默认按插入顺序输出(3.7及以上版本),不会自动按字母序排列,需要调用sorted()函数对字典的键做排序后再遍历。

修改后的完整代码

parties = {}

print("Independent Electoral Commission")
print("--------------------------------")
print("Enter the names of parties (terminated by DONE):")

while True:
    string1 = input()
    if string1 == 'DONE':
        break
    if string1 not in parties:
        parties[string1] = 1
    else:
        parties[string1] += 1

print("")
print("Vote counts:")
# 对字典的键按字母顺序排序后遍历
for key in sorted(parties):
    value = parties[key]
    print("{: <10}".format(key), "-", value)

核心修改点说明

  • 删掉了循环外多余的input()调用,避免第一个输入的政党被丢弃
  • 把遍历语句for key in parties:修改为for key in sorted(parties):,sorted()默认会对字符串按字母升序排序,即可实现预期的输出效果。

内容的提问来源于stack exchange,提问作者Josh Penne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 03:06:03