回答編集履歴
2
先ほど消去したソースコード再up
test
CHANGED
@@ -1,8 +1,32 @@
|
|
1
1
|
if a in c:では文字列とリストを比較しているので同じ数があっても分岐に入れません。
|
2
2
|
|
3
|
-
|
3
|
+
setを使って判定する場合こうなります。
|
4
4
|
|
5
5
|
|
6
|
+
|
7
|
+
```python
|
8
|
+
|
9
|
+
winning_number = list(map(int, input().split()))
|
10
|
+
|
11
|
+
num_of_tikets = int(input())
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
for i in range(num_of_tikets):
|
16
|
+
|
17
|
+
lottery = list(map(int, input().split()))
|
18
|
+
|
19
|
+
#当選番号とくじの番号の積集合
|
20
|
+
|
21
|
+
hit_nums=set(winning_number) & set(lottery)
|
22
|
+
|
23
|
+
print(len(hit_nums))
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
もし一人が複数枚同じくじを引く場合(1,1,2,2,3,3)のような場合はsetを使わず素直にforで回して判定したほうが良さげです。
|
6
30
|
|
7
31
|
```python
|
8
32
|
|
1
複数当たっていることもあるのでソース変更
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
if a in c:では文字列とリストを比較しているので同じ数があっても分岐に入れません。
|
2
2
|
|
3
|
-
|
3
|
+
あまりきれいなコードではありませんがこんな感じです
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -14,12 +14,16 @@
|
|
14
14
|
|
15
15
|
for i in range(num_of_tikets):
|
16
16
|
|
17
|
-
lotter
|
17
|
+
lotteries = list(map(int, input().split()))
|
18
18
|
|
19
|
-
|
19
|
+
hit_count=0
|
20
20
|
|
21
|
-
|
21
|
+
for lottery in lotteries:
|
22
22
|
|
23
|
+
if(lottery in winning_number):
|
24
|
+
|
25
|
+
hit_count+=1
|
26
|
+
|
23
|
-
print(
|
27
|
+
print(hit_count)
|
24
28
|
|
25
29
|
```
|