47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
from time import time
|
|
start = time()
|
|
input_file = open("input", "r")
|
|
cards = [[0, 0, [], []]]
|
|
for line in input_file:
|
|
line = line.strip().split(":")
|
|
card_number = int(line[0].replace("Card ", ""))
|
|
zahlen = line[1].split("|")
|
|
gewinn_zahlen = zahlen[0].split()
|
|
meine_zahlen = zahlen[1].split()
|
|
cards.append([card_number, 1, gewinn_zahlen, meine_zahlen])
|
|
input_file.close()
|
|
|
|
# Ausgabe cards
|
|
for i in range(1, len(cards)):
|
|
print(cards[i])
|
|
error_count = 0
|
|
for i in range(1, len(cards)):
|
|
for card_anzahl in range(cards[i][1]):
|
|
winning_count = 0
|
|
for my_num in cards[i][3]:
|
|
if my_num in cards[i][2]:
|
|
winning_count += 1
|
|
if winning_count > 0:
|
|
for j in range(i+1, i+winning_count+1):
|
|
try:
|
|
cards[j][1] += 1
|
|
except IndexError:
|
|
error_count += 1
|
|
|
|
# Ausgabe cards
|
|
print()
|
|
for i in range(1, len(cards)):
|
|
print(cards[i])
|
|
|
|
cards_total = 0
|
|
for i in range(1, len(cards)):
|
|
cards_total += cards[i][1]
|
|
|
|
# Ausgabe Lösung
|
|
print()
|
|
print(f"Total Scratchcards: {cards_total}")
|
|
print(f"ErrorCount: {error_count}")
|
|
print(f"Laufzeit in s: {time()-start}")
|