"""Snittfart for en liste med økter. Konstruert eksempel med en feil. Hører til gribben.no/tech/losninger/feilsok-med-ai.html. Kjør: python snitt.py okter.csv Eksempelet er konstruert, men feilen er vanlig. Den er plantet for å vise hvordan du feilsøker med hypoteser i stedet for å be om ett svar. """ import csv import sys def les(sti): with open(sti, encoding="utf-8", newline="") as f: return list(csv.DictReader(f)) def sekunder(tid): minutter, sek = tid.split(":") return int(minutter) * 60 + int(sek) def snittfart(rader): totalt = sum(sekunder(r["tid"]) for r in rader) km = sum(float(r["km"]) for r in rader) per_km = round(totalt / km) return f"{per_km // 60}:{per_km % 60:02d}" def main(): rader = les(sys.argv[1]) rader.sort(key=lambda r: r["dato"]) print(f"{len(rader)} økter fra {rader[0]['dato']} til {rader[-1]['dato']}") print(f"Snittfart: {snittfart(rader)} per km") if __name__ == "__main__": sys.stdout.reconfigure(encoding="utf-8") main()