如何根据字典中指定值修改所有文本颜色?当前仅输出单个匹配键值对
解决方案
你需要遍历字典的所有键值对,而非仅打印符合条件的项。可以通过定义颜色映射统一管理不同类型对应的颜色,确保每个键值对都被输出:
# 定义颜色代码:\033[0m 用于重置颜色,避免后续文本持续变色 COLORS = { 'Fire': '\033[31m', # 红色 'Water': '\033[34m', # 蓝色 'default': '\033[0m' # 默认颜色(恢复终端默认) } KEY_COLOR = '\033[33m' # 键固定为黄色 my_dictionary = { 'Name': 'Nina The Cat', 'Type': 'Fire', 'Special Move': 'Purring', 'Starting HP': 50, 'Starting MP': 50 } for key, value in my_dictionary.items(): # 将值转为字符串(适配数字类型),获取对应颜色,无匹配则用默认 value_color = COLORS.get(str(value), COLORS['default']) # 打印格式:黄色键 + 对应颜色的值 + 重置颜色 print(f"{KEY_COLOR}{key}: {value_color}{value}{COLORS['default']}")
代码说明
COLORS字典:集中管理属性值与颜色的对应关系,后续扩展新类型(比如Grass对应绿色)只需添加键值对即可。KEY_COLOR:固定键的显示颜色为黄色,贴合你最初的需求。- 末尾的
COLORS['default']:确保每一行打印后恢复终端默认颜色,避免后续文本被之前的颜色影响。
运行效果
会完整打印字典所有项:Type: Fire的值显示为红色,其他项的值用默认颜色,所有键均为黄色。
内容的提问来源于stack exchange,提问作者GR0UNDRUSH
相关产品推荐
相关产品推荐

