You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不硬编码打印《动物森友会》性格统计中值相同的字典键?

解决方法

你的问题在于用单个变量ww存储最高频性格,导致最后仅保留遍历到的最后一个符合条件的类型。要解决这个问题,需要收集所有频率等于最大值的性格类型,同时避免硬编码数值,改用动态获取的最大值来判断。

修改后的代码

totalfreq2 = {}

for p_type in personality:
    if p_type in totalfreq2:
        totalfreq2[p_type] += 1
    else:
        totalfreq2[p_type] = 1
print(totalfreq2)

maxfreq2 = max(totalfreq2.values())
print(maxfreq2)

# 用列表收集所有最高频的性格类型
top_types = []
for p_type in totalfreq2:
    if totalfreq2[p_type] == maxfreq2:
        top_types.append(p_type)

# 适配单/多个最高频类型的输出逻辑
if len(top_types) == 1:
    print(f"《动物森友会》村民最常见的性格类型是 {top_types[0]}")
else:
    joined_types = " 和 ".join(top_types)
    print(f"《动物森友会》村民最常见的性格类型是 {joined_types}")

修改后的输出

{'Jock': 57, 'Cranky': 57, 'Peppy': 53, 'Big Sister': 26, 'Lazy': 63, 'Normal': 63, 'Snooty': 57, 'Smug': 37}
63
《动物森友会》村民最常见的性格类型是 Lazy 和 Normal

关键改动说明

  • 用列表top_types替代单个变量,收集所有符合最高频率的性格类型
  • 条件判断使用动态获取的maxfreq2,替代硬编码的63,适配不同数据集场景
  • 添加多类型输出逻辑,让语句更符合自然表达习惯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:40:37