advent_of_code/2021_01/submarine_depth.py
2021-12-01 23:15:59 +01:00

43 lines
765 B
Python

from dataclasses import dataclass
from typing import Optional
MEASUREMENTS = (
199,
200,
208,
210,
200,
207,
240,
269,
260,
263,
)
@dataclass
class Sonar:
last: Optional[int] = None
def calc_measurement(self, new_measurement: int):
if self.last is None:
direction = 'N/A no previous measurement'
else:
if self.last < new_measurement:
direction = 'increased'
else:
direction = 'decreased'
print(f'{new_measurement}: {direction}')
self.last = new_measurement
def main():
sonar = Sonar()
for measurement in MEASUREMENTS:
sonar.calc_measurement(measurement)
if __name__ == '__main__':
main()