###前提・実現したいこと
幾つかのグラフ上の点が連結しているかどうかを示すサンプルコードです。
例えば、
networkに
"dr101-mr99", "mr99-out00", "dr101-out00", "scout1-scout2","scout3-scout1", "scout1-scout4", "scout4-sscout", "sscout-super"
などのように名前を持つグラフの点同士の関係が与えられ、
firstとsecondに繋がっているか調べたい点同士を入力します。
繋がっている場合Trueそうでない場合Falseを返します
例えばfirstにscout2
secondにscout3
を入力するとscout2とscout3はscout1を介して繋がっているのでTrueです。
###発生している問題・エラーメッセージ
1.s=abのところがわかりません。なぜここでabと言う名前をつけるのです?
2.return any(set([first, second]) <= s for s in setlist)はどういう意味ですか?
エラーメッセージ
###該当のソースコード
python
1def check_connection(network, first, second): 2 setlist = [] 3 for connection in network: 4 s = ab = set(connection.split('-')) 5 6 for t in setlist[:]: # we need to use copy 7 if t & ab: # check t include a, b 8 s = s | t 9 setlist.remove(t) 10 setlist.append(s) # only s include a, b 11 return any(set([first, second]) <= s for s in setlist)
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
python3.3

回答1件
あなたの回答
tips
プレビュー