对于我的任务的一个功能,我应该在下面为这个推荐分数写一个代码。
但我不知道应该从哪里开始。我被告知使用辅助函数,但我不知道什么样的辅助函数,例如他们的名字
推荐得分
对于每个人,社交网络中他们目前不是朋友的所有人都是潜在的朋友。对于特定的人,每个潜在的朋友使用以下积分系统进行评分:
- 对于这个人和潜在朋友所拥有的每个共同朋友,为潜在朋友的分数加1分
- 对于此人和潜在朋友都属于的每个网络,为潜在朋友的分数加1分
- 如果此人的姓氏与通过前两种方法中的一种或两种方法识别的潜在朋友的姓氏相同,请将潜在朋友的分数加1点
分配的链接位于http://bit.ly/H9hCia,如果它更容易,它只是基于此我将如何启动它。每个人都告诉我,只要我理解了这个描述,那么我就可以开始了。但是看起来不像,当你们看到它时你需要更多的信息吗?因为我很困惑,所以我决定在这里发帖,问你们的想法。因为我根本无法开始。如果我确实需要进一步解释,我会。
答案 0 :(得分:1)
一些提示。
你有一张社交图。 'person to friends'字典是它的发生率表:对于每个节点(人),它显示它连接到哪个节点。
“相互朋友”显然是两个在他们的发病率列表中相互拥有的人。制作一个帮助函数,确定两个给定的人是否是共同的朋友。也许制作一个列出给定人的所有共同朋友的功能。然后你可以列举'人与朋友'中的人(dict.keys()
是你的朋友)并计算分数。请务必检查您是否未将真人朋友包括在潜在朋友中。
要查找两个人是否属于至少一个公共网络,请将网络列表转换为sets并使用set intersection(&
)。
要查找名字和姓氏,请在其上使用str.split()。
启动交互式Python解释器。编写简单的函数,稍微播放一下您的数据。不要试图立刻将所有东西都放在头上并一次写下来。相反,试验。
答案 1 :(得分:0)
在开始考虑编写函数之前。你应该告诉我们你知道什么或你不知道什么。你知道什么是dictionary吗?您的项目需要dictionary
,您知道如何创建变量吗?作为一名学生,我建议你首先编写代码本身,然后使用数据(例如加载,打印,比较它们)。这样做,您可以更轻松地编写代码。
你应该做的第一件事是学习dictionary
,弄清楚如何创建一个,如何设置值,获取值等。阅读以下教程,看看你是否理解字典。如果您不知道如何使用dictionary
,那么尝试编写函数是没有意义的。
请阅读dictionary
:http://docs.python.org/library/stdtypes.html#typesmapping
请阅读string
:http://docs.python.org/tutorial/introduction.html#strings
请阅读for
,if
和其他人:http://docs.python.org/tutorial/controlflow.html
完成这三个教程后,您将学习如何创建和使用dictionary
和string
。然后,您可以考虑如何将代码放入功能,以及如何编写程序来解决问题。我们希望提供帮助,但我们需要知道您遇到的问题,向我们提供错误消息或(如何执行xxx)等信息(先试用谷歌)。祝你好运。