You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			850 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			42 lines
		
	
	
		
			850 B
		
	
	
	
		
			Python
		
	
| file = open("in.txt", "r")
 | |
| lns = file.readlines()
 | |
| 
 | |
| def p1():
 | |
|   depth = 0
 | |
|   horizontal = 0
 | |
|   for i in range(len(lns)):
 | |
|     d = lns[i].split()[0]
 | |
|     v = int(lns[i].split()[1])
 | |
|     if d == 'down':
 | |
|       depth += v
 | |
|     elif d == 'up':
 | |
|       depth -= v
 | |
|     elif d == 'forward':
 | |
|       horizontal += v
 | |
|   return {"depth": depth, "horizontal": horizontal}
 | |
| 
 | |
| def p2():
 | |
|   depth = 0
 | |
|   horizontal = 0
 | |
|   aim = 0
 | |
|   for ln in lns:
 | |
|     d = ln.split()[0]
 | |
|     v = int(ln.split()[1])
 | |
|     if d == 'down':
 | |
|       aim += v
 | |
|     elif d == 'up':
 | |
|       aim -= v
 | |
|     elif d == 'forward':
 | |
|       horizontal += v
 | |
|       depth += aim * v 
 | |
|   return {"depth": depth, "horizontal": horizontal}
 | |
| 
 | |
| # output lines
 | |
| # one = p1()
 | |
| # two = p2()
 | |
| # d1 = one['depth']
 | |
| # h1 = one['horizontal'] 
 | |
| # d2 = two['depth']
 | |
| # h2 = two['horizontal'] 
 | |
| # print(f"part 1: {d1 * h1}")
 | |
| # print(f"part 2: {d2 * h2}") |