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

如何将Python字典MBTI测试代码中的多段if语句改为for循环?

用For循环重构MBTI风格测试的判断逻辑

重构后的代码

myDict = {"R":0,"T":2,"C":3,"F":5,"J":2,"M":1,"A":4,"N":6}
myString = ""

# 定义所有需要对比的键对
key_pairs = [("R", "T"), ("C", "F"), ("J", "M"), ("A", "N")]

for key1, key2 in key_pairs:
    myString += key1 if myDict[key1] >= myDict[key2] else key2

print(myString)

实现思路

  1. 整理对比组:把需要两两对比的键按顺序封装成元组列表key_pairs,每一组对应原代码里的一个if-else逻辑。
  2. 循环遍历处理:用for循环遍历每个键对,复用原有的比较规则,用三元表达式简化字符串拼接(也可以保留原有的if-else写法,逻辑完全一致)。
  3. 优化优势:去掉了重复的代码块,后续如果要添加或修改测试维度,只需要调整key_pairs列表即可,代码维护性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:28:22