python关于字典问题

代码要求:根据诗名猜作者。系统功能:显示诗名,要求用户输入该诗的作者, 系统判断是否正确。 提示:一个诗人对应多首诗,但是一首诗对应一位诗人,所以考虑将 诗名和诗人的信息以诗名:诗人的格式存储到字典中。系统应该随机 选择某一首诗。将字典的键名取出存储到一个列表中,用 random.choice 方法从该列表中随机选择一首诗。然后让用户输入答 案,判断是否正确。

img


这是txt文件,帮忙写一下这个的代码吧自己一直写不对

img

两个建议,1.把txt的内容复制后,在题目描述中贴出来,这样友友们想写的话也方便很多;2.建议发个悬赏

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    我可以解决该问题。代码如下:

    import random
    
    # 定义诗歌字典
    poetry_dict = {
        '登高': '杜甫', 
        '山行': '杜牧', 
        '菩萨蛮': '白居易',
        '赋得古原草送别': '白居易',
        '夜泊牛渚怀古': '杜甫',
        '将进酒': '李白'
    }
    
    def guess_author():
        # 随机选择一首诗的名字
        poetry_name = random.choice(list(poetry_dict.keys()))
        # 展示给用户
        print(f'诗名是:{poetry_name}')
        # 让用户输入猜测的作者
        answer = input('请输入您猜测的作者:')
        if answer == poetry_dict[poetry_name]:
            print('恭喜,回答正确!')
        else:
            print(f'很遗憾,回答错误。正确答案是:{poetry_dict[poetry_name]}')
    
    if __name__ == '__main__':
        guess_author()
    

    以上代码首先定义了一个诗歌字典,包括了六首不同的诗和它们的作者。在 guess_author 函数中,我们首先获取所有诗名构成的列表,用 random.choice 方法从该列表中随机选择一首诗,然后展示该诗名给用户。接下来让用户输入他猜测的作者,判断该猜测的作者是否正确。如果正确则输出“恭喜,回答正确!”,否则输出正确答案。

    值得注意的是,此处我们将 list(poetry_dict.keys()) 转换为 list, 是因为在 Python 3 中, poetry_dict.keys() 返回的不是一个 list, 而是一个 dict_keys 类型, 它不能直接被迭代和修改。 因此转换为 list 后方便我们使用 random.choice 方法选择一个随机的诗名。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^