使用言語 Python3
ランダムに抽出された6つ数字が、これとは別に無作為に選ばれた6つの数字と、何個同じ数をい持っているか、という問題。
最初はforで無理やり当てはめれば解けると考えていたが、どう考えても効率が悪い
そこでset()というものをみつけた。
ここで具体的な例で考えてみる。
#無作為に選ばれた数字6つ
a_1 = [1,2,3,4,5,6]
a_2 = [51,44,76,2,6,12]
ans = set(a_1)&set(a_2)
print(ans)
この時の出力結果は以下のようになる。
{2,6}
なのでansをlenでとってあげることで、要素の個数を取得できる。
ただ、この時、ansの中身がない場合
print(len(ans))
=>set()
とかえってしまい、0が取得できない。
こういうときは
if len(ans) == 0:
print(0)
else:
print(len(ans))
こう記述することで、同じ要素の個数を取得することができた。
また、set()を用いるときには帰依をつけるべき点が数点あり、
①set型の並びは不規則
②同じ要素は1つにまとまる。