Friends Friends
Simple
IT Japanese RU EN FR

"How to find friends" のミッションでは、特別に作られたデータ構造にアクセスすることはすばらしいです。 このミッションでは友人ネットワークを格納し扱うためのデータ構造を体得するでしょう。

新しいFriendsのインスタンスを返します。 "connections" はそれぞれ2つの要素を持つ反復可能(iterable)な集合(set)です。 それぞれのconnection は2つの名前の文字列を含みます。 connection は最初のデータでは繰り返すことが出来ますが、一度しか格納されません。 それぞれのconnection は2つの状態しかありません -- 存在するかしないか。

>>> Friends(({"a", "b"}, {"b", "c"}, {"c", "a"}, {"a", "c"}))
>>> Friends([{"1", "2"}, {"3", "1"}])

add (connection)

インスタンスにconnection を追加します。 "connection" は2つの名前(文字列)の集合です。 このconnectionが新しかったらTrueを返します。 このconnectionが既に存在していたらFalseを返します。

>>> f = Friends([{"1", "2"}, {"3", "1"}])
>>> f.add({"1", "3"})
False
>>> f.add({"4", "5"})
True

remove (connection)

インスタンスからconnection を削除します。 "connection" は2つの名前(文字列)の集合です。 connection が存在していたらTrueを返します。 インスタンスに connection が存在していなかったらFalseを返します。

>>> f = Friends([{"1", "2"}, {"3", "1"}])
>>> f.remove({"1", "3"})
True
>>> f.remove({"4", "5"})
False

names ()

名前の集合(set)を返します。この集合は誰かと関係のある名前だけを含みます。

>>> f = Friends(({"a", "b"}, {"b", "c"}, {"c", "d"}))
>>> f.names()
{"a", "b", "c", "d"}
>>> f.remove({"d", "c"})
True
>>> f.names()
{"a", "b", "c"}

connected (name)

与えられた "name" と関係する名前の集合を返します。 もしインスタンスに"name" が存在しなかったら空の集合を返します。

>>> f = Friends(({"a", "b"}, {"b", "c"}, {"c", "a"}))
>>> f.connected("a")
{"b", "c"}
>>> f.connected("d")
set()
>>> f.remove({"c", "a"})
True
>>> f.connected("c")
{"b"}
>>> f.remove({"c", "b"})
True
>>> f.connected("c")
set()

このミッションではすべてのデータは正しいので、値のチェックを実装する必要はありません。

入力 Friendsクラスのステートメントと式

出力 前述したふるまい

どうやって使われるか ここでは状態が変更可能なクラスを実装します。 これはいくつかの関数を持ち単純ではない構造で、オブジェクトの表現はより複雑になってます。

事前条件 すべてのデータは正しい

You should be an authorized user in order to see the full description and start solving this mission.

Become Awesome

  • No Ads
  • No Limits
  • More Content
Settings
Code:
Other:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

×
 
 
<< <
> >>
exec show

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Go to the next mission