如何在Trinket中根据随机选择的塔罗牌匹配并显示对应图片?
解决Trinket中塔罗占卜程序匹配对应牌面图片的问题
你只需要用随机选中的塔罗牌名称作为card_images字典的键,直接获取对应图片路径即可,不用遍历整个字典。以下是修正后的完整代码示例(适配Trinket环境):
import random import turtle # 塔罗牌名称与解读字典 card_names = { "The Fool": {"Up": "new beginnings, pleasure, & opportunity", "Down": "indecision, hesitation, & bad choices"}, "The Magician": {"Up": "creativity, self-confidence, & skill", "Down": "delay, insecurity, & lack of self-confidence"} } # 塔罗牌名称与图片路径字典 card_images = {"The Fool": "tarot-fool.jpeg", "The Magician": "tarot-magician.jpeg"} # 随机选牌与正反位 card = random.choice(list(card_names)) facing = random.choice(list(card_names[card])) # 获取选中塔罗牌对应的图片路径(关键修正) selected_image = card_images[card] # 初始化屏幕并设置背景图片(Trinket中turtle可用) screen = turtle.Screen() screen.bgpic(selected_image) # 输出占卜结果(保留原有功能) print(f"你抽到了{card}({facing}): {card_names[card][facing]}")
关键说明:
- 核心逻辑是
card_images[card]:card变量已经存储了随机选中的塔罗牌名称(比如"The Fool"),直接用它作为键就能从card_images中精准拿到对应图片路径,不会遍历输出所有路径。 - 确保
card_images中的键与card_names中的塔罗牌名称完全一致,否则会触发KeyError,可提前检查两个字典的键是否匹配。 - Trinket中使用
turtle.Screen()的bgpic()方法时,要确保图片文件已上传到Trinket项目中,路径填写正确。
内容的提问来源于stack exchange,提问作者emmtm
相关产品推荐
相关产品推荐

