当前位置:首页>python>Python教程(37)列表综合应用:猜歌名游戏

Python教程(37)列表综合应用:猜歌名游戏

  • 2026-10-11 07:05:28
Python教程(37)列表综合应用:猜歌名游戏

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

上篇文章我们讲到,列表就像哆啦A梦的大口袋,什么都能装。

今天,我们就从口袋里掏出 —— 猜歌名游戏!


歌库设计

    每首歌有很多信息,需要用一个变量存放。
    我们自然会想到列表。

    一首歌有哪些信息?歌名、歌手、评分、歌词片段、时长……这些信息的类型不一样(文字、小数、整数),而列表能把它们装在一起。

    先来看看一首歌怎么表示:

    song列表存放了不同类型的数据:字符串、浮点数、整数。列表能把不同类型的数据装在一起,这就是它的“包容性”。

    可以通过song[0]来访问"青花瓷",song[1]来访问"周杰伦",以此类推。

    一个变量song只能放一首歌,那五首歌就需要五个变量吗?

    当然不需要!

    既然列表无所不装,当然列表也可以装列表了。

    songs也是一个列表,里面存放了五个列表。

    songs就是提前设计好的歌库。

    游戏流程

    先别写代码,先想清楚游戏怎么玩:

    1、从歌库里随机抽一首歌

    2、把这首歌的歌手、评分、歌词片段、时长展示出来(不显示歌名)

    3、让玩家输入猜的歌名

    4、判断:猜对了加10分,猜错了公布正确答案

    5、重复以上步骤 3次

    6、最后显示总分

    这是“算法思路” ,是编程前的必经步骤。像写作文之前先列提纲一样。以后程序会越来越复杂,在编写程序之前都需要把算法描述出来。我们以后也会介绍经典的算法。

    化繁为简,逐个击破

    流程清晰了,再看整体结构,因为需要重复三次,所以用到for循环:

    for i in range(3):

        随机挑歌

        显示歌的信息(除了歌名)

        让用户猜歌名

        如果答对了,加分,否则显示正确歌名

    接下来把每个步骤拆开来看。

    1、歌库songs设计好了,怎么随机抽一首歌呢?

    需要用到 random 模块

    random.choice(songs) :从列表songs中随机挑一个元素

    songs.remove(song):为了防止下一次抽到相同的元素,可以挑完之后删除该元素。

    2、如何展示歌的信息(除了歌手信息)

    songs列表比较复杂,里面又包含了列表。

    song = random.choice(songs)

    从列表songs中随机挑一个元素,也就是说可能挑到songs[0]到songs[4]中的任何一个。只需要展示song[1] ~ song[4]就可以了。

    3、如何判断与计分

    玩家输入歌名后,怎么判断对不对?

    玩家输入的歌名存放到guess变量中,将guess变量和song[0](即存放歌手的变量)比较,如果正确,加分,输出信息,如果错误,直接显示正确的歌手名。

    注意:

    • == 表示 是否相等,很多初学者会写成 = (表示赋值)

    • \n 是转义符,表示换行

    完整代码

    程序代码如下:

    运行结果如下:

    总结拓展

    列表的应用非常广泛。几乎任何需要“存放多个数据”的场景,都可以用列表。
    这个程序修改的空间还很大,比如:
    • 所有歌曲的信息能否放在一个文件里,通过程序语句导入到列表中;
    • 增加互动性,根据得分评等级。满分30分→“🏆 歌神”,20分→“🎤 K歌达人”,10分→“🎵 继续加油”
    • 答对加分,答错扣分等等
    • 可以用更友好的GUI界面

    本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

    觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

    最新文章

    随机文章