0

私の課題の機能の 1 つとして、この推奨スコアのコードを以下に記述することになっています。

しかし、どこから始めればよいかわかりません。ヘルパー関数を使用するように言われましたが、名前などのヘルパー関数が何であるかわかりません

推奨スコア

各人について、現在友達ではないソーシャル ネットワーク内のすべての人が潜在的な友達です。特定の人について、次のポイント システムを使用して、各潜在的な友人にスコアが付けられます。

  • その人と潜在的な友人が持っている共通の友人ごとに、潜在的な友人のスコアに1ポイントを追加します
  • その人物と潜在的な友人の両方が属するネットワークごとに、潜在的な友人のスコアに1ポイントを追加します
  • その人物が、前の 2 つの方法のいずれかまたは両方で識別された潜在的な友人と同じ姓を持っている場合、潜在的な友人のスコアに 1 ポイントを追加します。

割り当てへのリンクはhttp://bit.ly/H9hCiaにあります。簡単にする場合は、これに基づいてどのように開始しますか。この説明を理解すれば始められると皆さんに言われましたが、そうではないようです。私はとても混乱しているので、ここに投稿して皆さんの意見を聞くことにしました。全然始められないから。さらに説明する必要がある場合は、説明します。

4

2 に答える 2

1

いくつかのヒント。

あなたはソーシャルグラフを持っています。'person to friends' dictは、その発生率テーブルです。各ノード(person)について、接続するノードを示します。

「相互の友人」は明らかに、発生率リストにお互いを持っている2人の人です。与えられた2人が相互の友達であるかどうかを判断するヘルパー関数を作成します。たぶん、特定の人のすべての相互の友人を一覧表示する関数を作成します。

次に、「人から友達」(dict.keys()友達)の人を列挙し、スコアを計算できます。人の実際の友達が潜在的な友達に含まれていないことを確認してください。

2人が少なくとも1つの共通ネットワークに属しているかどうかを確認するには、ネットワークのリストをセットに変換し、セットの共通部分(&)を使用します。

姓名を検索するには、それらにstr.split()を使用します。

インタラクティブなPythonインタープリターを起動します。簡単な関数を書いて、データを少し試してみてください。すべてを一度に頭に収めて、一度に書き留めようとしないでください。代わりに、実験してください。

于 2012-04-04T20:18:50.527 に答える
0

関数やその他すべての記述について考え始める前に。何を知っているか、何を知らないかを教えてください。辞書とは何か知っていますか? あなたのプロジェクトでは が必要dictionaryです。変数の作成方法を知っていますか? 私自身学生として、最初にコード自体を記述し、データをいじることから始めることをお勧めします (データのロード、印刷、比較など)。そうすることで、コードを書くのがより快適になります。

最初にすべきことは、 を学習dictionaryし、作成方法、値の設定方法、値の取得方法などを理解することです。次のチュートリアルを読んで、辞書を理解しているかどうかを確認してください。の使い方がわからなければ、関数を書こうとしても意味がありませんdictionary

これを読んでくださいdictionaryhttp://docs.python.org/library/stdtypes.html#typesmapping

これを読んでくださいstringhttp://docs.python.org/tutorial/introduction.html#strings

forなどについては、こちらをお読みくださいif: http://docs.python.org/tutorial/controlflow.html

この 3 つのチュートリアルを完了するとdictionary、 、 、および の作成方法と使用方法を学習できますstring。次に、コードを機能に組み込む方法と、問題を解決するためのプログラムを作成する方法について考えることができます。私たちは助けたいと思っていますが、行き詰まった場所を知る必要があり、エラー メッセージや (xxx の実行方法) (最初に Google で検索してみてください) などの情報を提供する必要があります。幸運を。

于 2012-04-04T22:01:35.033 に答える