参考课堂介绍的推荐系统案例,尝试把程序改成歌曲推荐程序:有一组客户及其点歌的数据,为打算点歌的客户推荐歌曲。 客户1 : {'断桥残雪', '领悟', '暗香', '隐形的翅膀', '再见', '白桦林', '流年', '一眼万年', '那些花儿', '雨一直下', '小城大事', '一剪梅'} 客户2 : {'暗香', '水手', '朋友', '流年', '再回首', '老鼠爱大米', '曾经的你', '一剪梅', '你的样子'} 客户3 : {'再回首', '黄昏'} 客户4 : {'梦醒时分', '隐形的翅膀', '朋友', '棉花糖', '难念的经', '小城大事', '一剪梅'} 客户5 : {'领悟', '父亲', '流年', '飘雪', '雨一直下', '童年', '遇见', '黄昏'} 客户6 : {'隐形的翅膀', '父亲', '大海', '一眼万年', '那些花儿', '飘雪', '同桌的你', '棉花糖', '曾经的你', '一剪梅', '慢慢'} 客户7 : {'遇见'} 客户8 : {'父亲', '飘雪', '黄昏', '曲终人


以下是一个使用 Python 实现的简单歌曲推荐程序示例: ```python # 定义客户及其点歌数据 customer_songs = { 1: {'断桥残雪', '领悟', '暗香', '隐形的翅膀', '再见', '白桦林', '流年', '一眼万年', '那些花儿', '雨一直下', '小城大事', '一剪梅'}, 2: {'暗香', '水手', '朋友', '流年', '再回首', '老鼠爱大米', '曾经的你', '一剪梅', '你的样子'}, 3: {'再回首', '黄昏'}, 4: {'梦醒时分', '隐形的翅膀', '朋友', '棉花糖', '难念的经', '小城大事', '一剪梅'}, 5: {'领悟', '父亲', '流年', '飘雪', '雨一直下', '童年', '遇见', '黄昏'}, 6: {'隐形的翅膀', '父亲', '大海', '一眼万年', '那些花儿', '飘雪', '同桌的你', '棉花糖', '曾经的你', '一剪梅', '慢慢'}, 7: {'遇见'}, 8: {'父亲', '飘雪', '黄昏', '曲终人'} } # 输入打算点歌的客户编号 customer_number = int(input("请输入客户编号: ")) # 计算其他客户与当前客户的歌曲交集 recommended_songs = set() for other_customer, songs in customer_songs.items(): if other_customer!= customer_number: intersection = customer_songs[customer_number].intersection(songs) recommended_songs.update(intersection) # 去除当前客户已点的歌曲 recommended_songs = recommended_songs - customer_songs[customer_number] # 输出推荐的歌曲 print("为您推荐的歌曲有:") for song in recommended_songs: print(song) ``` 运行程序时,您输入客户编号,程序会为您推荐其他客户也点过但该客户未点的歌曲。 [2024-10-31 13:35:50 | AI写代码神器 | 467点数解答]
- 参考课堂介绍的推荐系统案例,尝试把程序改成歌曲推荐程序:有一组客户及其点歌的数据,为打算点歌的客户推荐歌曲。 客户1 : {'断桥残雪', '领悟', '暗香', '隐形的翅膀', '再见', '白桦林', '流年', '一眼万年', '那些花儿', '雨一直下', '小城大事', '一剪梅'} 客户2 : {'暗香', '水手', '朋友', '流年', '再回首', '老鼠爱大米', '曾经的你', '一剪梅', '你的样子'} 客户3 : {'再回首', '黄昏'} 客户4 : {'梦醒时分', '隐形的翅膀', '朋友', '棉花糖', '难念的经', '小城大事', '一剪梅'} 客户5 : {'领悟', '父亲', '流年', '飘雪', '雨一直下', '童年', '遇见', '黄昏'} 客户6 : {'隐形的翅膀', '父亲', '大海', '一眼万年', '那些花儿', '飘雪', '同桌的你', '棉花糖', '曾经的你', '一剪梅', '慢慢'} 客户7 : {'遇见'} 客户8 : {'父亲', '飘雪', '黄昏', '曲终人(467点数解答 | 2024-10-31 13:35:50)130
- 输入几首你喜欢的歌曲名称(用空格隔开):再见 遇见 童年 与您爱好最接近的客户还点过这些歌曲:领悟,父亲,流年,飘雪,雨一直下,黄昏(22点数解答 | 2024-10-31 13:35:14)120
- 在DEV-C++中编写一个简单的猫咪跳跃跑酷游戏,“猫咪”通过捕食“老鼠”获得积分(显示在左上角),一只“老鼠”对应1分,满10分后,会出现另一只“猫”,击败它可通关。(1172点数解答 | 2025-09-07 11:52:39)45
- 在DEV-C++中编写一个简单的猫咪跳跃跑酷游戏,“猫咪”通过捕食“老鼠”获得积分(显示在左上角),一只“老鼠”对应1分,满10分后,会出现另一只“猫”,击败它可通关。用鼠标划动控制猫咪方向。(1531点数解答 | 2025-09-07 12:02:55)39
- [ { "id": 1, "parentId": 0, "spread": true, "title": "数据", "path": "", "status": 1, "sort": 1, "parentTitle": null, "children": [ { "id": 2, "parentId": 1, "spread": false, "title": "项目-知识库", "path": "/cms/data/questionprolist.html", "status": 1, "sort": 2, "parentTitle": "数据", (603点数解答 | 2025-04-15 22:48:51)129
- java的linkedlist方法poll()和pop()介绍(209点数解答 | 2024-01-13 18:17:28)398
- 个人健康管理系统,基于springboot + vue实现 1 可行性分析 1.1 市场分析 1.2 政策分析 1.3 竞争实力分析 1.4 技术可行性分析 1.5 时间和资源可行性分析 1.6 知识产权分析 各500字 参考 【【原创精品】个人健康管理系统,基于springboot + vue实现,手把手带敲,功能强大,毕设好项目,练手好项目,实习好项目】https://www.bilibili.com/video/bv1fwvrecerf?vd_source=a3601514360f7c602d2b739d8a67171c(726点数解答 | 2024-12-25 01:40:15)153
- 3. 参考“无名杀”的官方文档和其他已有的技能代码,以遵循其规范和最佳实践。出牌阶段限一次,你可以失去1点体力,然后视为对一名其他角色使用一张没有距离限制且不可被【闪】响应的【杀】。若这张【杀】造成伤害,你摸两张牌。(247点数解答 | 2025-02-05 21:18:17)158
- 猫和老鼠在10*10的方格中运动,例如: …….. ……*… …….. ………. …*.C…. …..… …*…… ..M……* ….…. ..…… C=猫(CAT) M=老鼠(MOUSE) *=障碍物 .=空地 猫和老鼠每秒中走一格,如果在某一秒末他们在同一格中,我们称他们“相遇”。 注意,“对穿”是不算相遇的。猫和老鼠的移动方式相同:平时沿直线走,下一步如果会走到障碍物上去或者出界,就用1秒的时间做一个右转90度。一开始他们都面向北方。 编程计算多少秒以后他们相遇。 语言方向:C++ 系统环境:Windows 代码风格:时间复杂度优先(505点数解答 | 2025-01-12 20:11:03)169
- 实验3面向对象程序设计1将实验2发牌的功能改用面向对象编程方式改写,实现功能如下:初始化牌、显示牌码2、洗牌3、发牌4、退出~ ~ ~请输入对应的数字选择相应的业务:黑桃a黑桃2黑桃3黑桃4黑桃5黑桃6黑桃7黑桃8黑桃9黑桃10黑桃j黑桃q黑桃k红桃a红桃2红桃3红桃4红桃5红桃6红桃7红桃8红桃9红桃10红桃j红桃o红桃k方块a方块2方块3方块4方块5方块6方块7方块8方块9方块10方块]方块q方块k梅花a梅花2梅花3梅花4梅花5梅花6梅花7梅花8梅花9梅花1日梅花j梅花q梅花k日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~请输入对应的数字选择相应的业务:请输入发牌数:方块j黑桃7梅花5红桃q请输入发牌数:5梅花3红桃4方块a梅花a梅花2日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~ * * * * * * * *水* * * *水水请输入对应的数字选择相应的业务:3请输入发牌数:输入错误,再见~ ~ ~(1936点数解答 | 2024-03-24 21:24:54)223
- java面向对象程序设计1将实验2发牌的功能改用面向对象编程方式改写,实现功能如下:初始化牌、显示牌码2、洗牌3、发牌4、退出~ ~ ~请输入对应的数字选择相应的业务:黑桃a黑桃2黑桃3黑桃4黑桃5黑桃6黑桃7黑桃8黑桃9黑桃10黑桃j黑桃q黑桃k红桃a红桃2红桃3红桃4红桃5红桃6红桃7红桃8红桃9红桃10红桃j红桃o红桃k方块a方块2方块3方块4方块5方块6方块7方块8方块9方块10方块]方块q方块k梅花a梅花2梅花3梅花4梅花5梅花6梅花7梅花8梅花9梅花1日梅花j梅花q梅花k日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~请输入对应的数字选择相应的业务:请输入发牌数:方块j黑桃7梅花5红桃q请输入发牌数:5梅花3红桃4方块a梅花a梅花2日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~ * * * * * * * *水* * * *水水请输入对应的数字选择相应的业务:3请输入发牌数:输入错误,再见~ ~ ~(2187点数解答 | 2024-03-24 21:25:07)242
- java做发牌的功能改用面向对象编程方式改写,实现功能如下:0.初始化牌1.显示牌码2、洗牌3、发牌4、退出~ ~ ~请输入对应的数字选择相应的业务:0.初始化牌 1、显示牌码2、洗牌3、发牌4、退出~ ~请输入对应的数字选择相应的业务:请输入发牌数:方块j黑桃7梅花5红桃q请输入发牌数:5梅花3红桃4方块a梅花a梅花2日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~ * * * * * * * *水* * * *水水请输入对应的数字选择相应的业务:3请输入发牌数:输入错误,再见~ ~ ~(3211点数解答 | 2024-03-24 21:27:14)262