Я чуть не забыл о том, чтобы сделать вызов. Первая часть была легкой, а часть вторая была немного сложной Так что сначала я поступил неправильно и получил помощь от этого Репо Анкет Снова я попробовал это сначала при тестовом вводе и только тогда на реальном. Мое решение в этом Репозиторий Анкет
Первая часть
with open("day10.txt", "r") as fp: lines = [int(line.rstrip()) for line in fp.readlines()] one_jolt = 0 two_jolt = 0 three_jolt = 0 outlet_rating = 0 lines.append(max(lines)+3) # because max jolt is added while True: #print(1 in lines) if (outlet_rating + 1) in lines: one_jolt+=1 outlet_rating += 1 elif outlet_rating+2 in lines: two_jolt+=1 elif (outlet_rating + 3) in lines: three_jolt += 1 outlet_rating+=3 else: break print("Part 1 answer is ", one_jolt*three_jolt)
Часть вторая
# part 2 sol = {0:1} for line in sorted(lines): sol[line] = 0 if line - 1 in sol: sol[line]+=sol[line-1] if line - 2 in sol: sol[line]+=sol[line-2] if line - 3 in sol: sol[line]+=sol[line-3] print(sol[max(lines)])
Давайте поделимся вашим решением тоже.
Я пишу блоги о проектах компьютерного зрения на моей странице GitHub q-viper.github.io И если у вас есть время, пожалуйста, поделитесь своим.
Оригинал: “https://dev.to/qviper/advent-of-code-2020-python-solution-day-10-30kd”