0

对于我的作业的其中一个功能,我应该在下面为这个推荐分数编写一个代码。

但我不知道我应该从哪里开始。有人告诉我要使用辅助函数,但我不知道是什么辅助函数,例如它们的名称

推荐分数

对于每个人,社交网络中他们当前不是朋友的所有人都是潜在朋友。对于特定的人,每个潜在的朋友都使用以下积分系统进行评分:

  • 对于此人和潜在朋友的每个共同朋友,潜在朋友的得分加 1 分
  • 对于每个人和潜在朋友都属于的网络,给潜在朋友的分数加 1 分
  • 如果此人与通过前两种方法之一或两种方法识别的潜在朋友的姓氏相同,则在潜在朋友的分数上加 1 分

作业的链接位于http://bit.ly/H9hCia,如果它更容易,它只是基于此我将如何开始它。每个人都告诉我,只要我理解这个描述,我就可以开始它。但这似乎不是这样,当你们阅读它时,你需要更多信息吗?因为我很困惑,所以我决定在这里发帖询问你们的想法。因为我根本无法开始。如果我确实需要进一步解释,我会的。

4

2 回答 2

1

一些提示。

你有一个社交图谱。“人到朋友”的字典是它的关联表:对于每个节点(人),它显示它连接到哪些节点。

“共同的朋友”显然是两个人在他们的发病名单中。创建一个辅助函数来确定两个给定的人是否是共同的朋友。也许做一个列出给定人的所有共同朋友的函数。

然后,您可以在“人对朋友”(dict.keys()是您的朋友)中枚举人员并计算分数。请务必检查您没有将某人的实际朋友包括在潜在朋友中。

要确定两个人是否属于至少一个公共网络,请将网络列表转换为集合并使用集合交集 ( &)。

要查找名字和姓氏,请对它们使用str.split()

启动交互式 Python 解释器。编写简单的函数,玩弄你的数据。不要试图一次将所有内容都放在脑海中,然后一口气写下来。相反,实验。

于 2012-04-04T20:18:50.527 回答
0

在你开始考虑编写函数之前。您应该告诉我们您知道什么或不知道什么。你知道什么是字典吗?你的项目需要dictionary,你知道如何创建变量吗?作为一名学生,我建议您先编写代码本身,然后处理数据(例如加载它们、打印它们、比较它们)。这样做你会更舒服地编写代码。

你应该做的第一件事是学习dictionary,弄清楚如何创建一个,如何设置值,获取值等。阅读下面的教程,看看你是否理解字典。如果您不知道如何使用 to be with,那么尝试编写函数是没有意义的dictionary

阅读以下内容dictionary: http: //docs.python.org/library/stdtypes.html#typesmapping

阅读以下内容string: http: //docs.python.org/tutorial/introduction.html#strings

阅读本文forif其他:http ://docs.python.org/tutorial/controlflow.html

完成这三个教程后,您将学习如何创建和dictionary使用string. 然后你可以考虑如何将你的代码放入函数中,以及如何编写你的程序来解决问题。我们想提供帮助,但我们需要知道您卡在哪里,向我们提供错误消息等信息,或(如何做 xxx)(先尝试 google)。祝你好运。

于 2012-04-04T22:01:35.033 回答