ARGS_COUNT = 1 if len(sys.argv) < ARGS_COUNT: print("Missing arguments") sys.exit(1) from task import createReindeer, run from part2 import simulateSecondBySecond ## time = int(sys.argv[1]) reindeers = [] with open("in.txt") as file: for line in file: reindeer = createReindeer(line) reindeers += [(reindeer[0], reindeer[1:])] # part 1 bestResult = None for reindeer in reindeers: name = reindeer[0] props = reindeer[1] distance = run(time, props) if bestResult == None or distance > bestResult[1]: bestResult = (name, distance) print("part 1:") print("{} will run {} km in {} s".format(bestResult[0], bestResult[1], time)) # part 2
import subprocess import sys sys.path.insert(0, "../") from tester import Tester t = Tester() ## from task import createReindeer, run, move, rest ## write tests here -- # part 1 reindeer = createReindeer("Tester can fly 1 km/s for 5 seconds, but then must rest for 10 seconds.") t.test("reindeer input parsing", reindeer, ("Tester", 1, 5, 10)) t.test("reindeer runs 20 km in 50 seconds", run(50, reindeer[1:]), 20) movement = move(5, (0, 4), reindeer[1:]) t.test("respect max travel time in movement - move only for one second", movement[0], 1) t.test("respect max travel time in movement - reach end after one second", movement[1], 5) rested = rest(5, (0, 4), reindeer[1:]) # rest for one second t.test("respect max travel time in resting - do not move", rested[0], 0) t.test("respect max travel time in resting - rest for one second only", rested[1], 5) # part 2 ## -- end of tests def askYesNo(question): print(question + " [y/n]") yes = set(['yes','y', 'ye', ''])