2012-04-04 3 views
0

내 과제의 기능 중 하나는 아래의 권장 점수에 대한 코드를 작성해야합니다.파이썬 : 도우미 함수 혼동

하지만 어디서부터 시작해야할지 모르겠습니다. 나는 도우미 기능을 사용하라고하지만 같은 좀 도우미 기능, 예를 자신의 이름을

는 권고가 현재 친구가 아닌 사람들 소셜 네트워크에서, 각 사람을 위해 모든 사람을

점을 알고 해달라고했다 잠재적 인 친구들입니다. 특정 개인의 경우, 각각의 잠재적 친구는 다음과 같은 포인트 시스템별로 표시됩니다 : 사람과 잠재적 인 친구가 있고, 각 네트워크에 대해 잠재적 인 친구의 점수

  • 에 1 점을 추가하는 모든 상호 친구

    • 을 그 친구와 잠재적 인 친구가 모두 속한 경우 잠재적 인 친구의 점수에 1 점을 더하십시오.
    • 사람이 이전 두 가지 방법 중 하나 또는 둘 모두를 통해 식별 된 잠재적 인 친구와 동일한 성을 가진 경우, 잠재 친구의 점수
  • 할당에 대한 링크는 http://bit.ly/H9hCia입니다.이 방법을 사용하면 쉽게 시작할 수 있습니다. 모든 사람들이 내가이 설명을 이해하는 한 그걸로 시작할 수 있다고 들었습니다.하지만 그렇게 느껴지지는 않습니다. 사람들이 읽을 때 더 많은 정보가 필요합니까? 왜냐하면 나는 너무 혼란스러워서 여기에 글을 올리고 너희들이 생각하는 것을 묻기로 결정했다. 이후 나는 그것을 전혀 시작할 수 없습니다. 만약 내가 더 설명해야 할 필요가 더 있습니다.

    +1

    여기에 충분한 정보가있는 것 같습니다. 수업을 공부 했습니까, 아니면 방금 함수를 사용하고 있습니까? – aaronasterling

    +0

    어, 뭐라구? 클래스에 따라 .. 무슨 뜻 이죠? 이것은 기본 코스입니다. 그래서 처음부터 모든 것을 배울 것입니다. – kungkung

    +1

    그들은 초보자 코드를 제공하고 데이터 구조를 설명했습니다. 뭘 더 원하니? – Marcin

    답변

    1

    몇 가지 힌트.

    소셜 그래프가 있습니다. 'person to friends'는 각 노드 (person)에 어떤 노드가 연결되어 있는지를 보여줍니다.

    "상호 친구"는 분명히 발생률 목록에 서로있는 두 사람입니다. 주어진 두 사람이 상호적인 친구인지 결정하는 도우미 함수를 만듭니다. 어쩌면 주어진 사람의 모든 공통 친구를 나열하는 함수를 만들 수 있습니다.

    그러면 '친구와 사람'(dict.keys()은 친구)의 사람을 열거하고 점수를 계산할 수 있습니다. 잠재적 친구에게 실제 친구를 포함시키지 않았는지 확인하십시오.

    두 사람이 하나 이상의 공용 네트워크에 속하는지 확인하려면 네트워크 목록을 sets으로 변환하고 교차 설정 (&)을 사용하십시오.

    이름과 성을 찾으려면 str.split()을 사용하십시오.

    대화 형 Python 인터프리터를 시작하십시오. 간단한 기능을 작성하고 데이터로 약간만 플레이하십시오. 한 번에 모든 것을 머리에 맞추고 한 번에 적어 두지 마십시오. 대신, 실험하십시오.

    +0

    흠, 나는 당신의 말을 이해합니다. :) 고마워요. 그래서 어떻게 내가 처음 도우미 함수 "def pts_for_friends() :"매개 변수를 너무 확신하지 못하는 이름을 지어 시작처럼, 그걸 시작할 수 있습니다. 그래서 여기서 모든 권리를 비교할 것입니다. – kungkung

    0

    기능을 작성하는 것에 대해 생각하기에 앞서. 당신은 당신이 무엇을 알고 있는지, 무엇을 모르는 지 우리에게 말해야합니다. dictionary이 무엇인지 알고 있습니까? 프로젝트에 dictionary이 필요합니다. 변수를 만드는 방법을 알고 있습니까? 학생으로서 저는 코드 자체를 먼저 작성하고 데이터를 가지고 놀고 (예 :로드, 인쇄, 비교) 코드를 작성하는 것이 좋습니다. 그렇게하면 코드를 작성하는 데 더 익숙해집니다.

    먼저해야 할 일은 dictionary을 배우고, 값을 설정하고, 값을 설정하고, 값을 가져 오는 방법을 파악하는 것입니다. 다음 자습서를 읽고 사전을 이해하는지 확인하십시오. dictionary을 사용하는 방법을 모르는 경우 함수를 작성하려고 시도하지 않아도됩니다.

    dictionary이 읽기 ​​: http://docs.python.org/library/stdtypes.html#typesmapping

    string이 읽기 ​​: http://docs.python.org/tutorial/controlflow.html

    당신은 그 세 가지 튜토리얼을 완료, 당신은 방법을 배우게됩니다 : http://docs.python.org/tutorial/introduction.html#strings

    for, if 다른 사람이 읽기 dictionarystring을 만들고 사용하십시오. 그런 다음 코드를 함수에 넣는 방법과 문제를 해결하기 위해 프로그램을 작성하는 방법에 대해 생각할 수 있습니다. 우리는 도움을주고 싶지만, 어디서 붙잡혀 야하는지, 오류 메시지와 같은 정보 또는 (xxx를 수행하는 방법) (Google을 먼저 시도해보십시오) 알아야합니다. 행운을 빕니다.

    +0

    정말 고마워요. 그리고 예, 제가 사전을 알고 있습니다. 우리가 그들을 변화시키고 그들과 함께 여러 가지 기능을 수행하게됩니다. – kungkung

    +0

    사용법을 알고 있다면, 여기에서'function'을 읽을 수 있습니다 : http://www.tutorialspoint.com/python/python_functions.htm 그리고 붙어 있다면 질문을 올릴 수 있습니다. – George