completes day2, starts day3.
This commit is contained in:
74
day2/part2.py
Normal file
74
day2/part2.py
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
import datetime
|
||||||
|
print(datetime.datetime.now())
|
||||||
|
input = open("./input.txt", "r")
|
||||||
|
|
||||||
|
gameResult = {
|
||||||
|
"win": 6,
|
||||||
|
"tie": 3,
|
||||||
|
"lose": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
throws = {
|
||||||
|
"rock": 1,
|
||||||
|
"paper": 2,
|
||||||
|
"scissors": 3
|
||||||
|
}
|
||||||
|
|
||||||
|
desiredOutcomeMap = {
|
||||||
|
"X": "lose",
|
||||||
|
"Y": "tie",
|
||||||
|
"Z": "win"
|
||||||
|
}
|
||||||
|
|
||||||
|
opponentThrowMap = {
|
||||||
|
"A": "rock",
|
||||||
|
"B": "paper",
|
||||||
|
"C": "scissors"
|
||||||
|
}
|
||||||
|
|
||||||
|
def determineThrow(opponent, desiredOutcome):
|
||||||
|
if (opponent == "rock"):
|
||||||
|
if (desiredOutcome == "win"):
|
||||||
|
return "paper"
|
||||||
|
if (desiredOutcome == "lose"):
|
||||||
|
return "scissors"
|
||||||
|
return "rock"
|
||||||
|
if (opponent == "scissors"):
|
||||||
|
if (desiredOutcome == "win"):
|
||||||
|
return "rock"
|
||||||
|
if (desiredOutcome == "lose"):
|
||||||
|
return "paper"
|
||||||
|
return "scissors"
|
||||||
|
if (desiredOutcome == "win"):
|
||||||
|
return "scissors"
|
||||||
|
if (desiredOutcome == "lose"):
|
||||||
|
return "rock"
|
||||||
|
return "paper"
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
def determineWinner(opponent, self):
|
||||||
|
if (opponent == self):
|
||||||
|
return "tie"
|
||||||
|
if (throws[opponent] == throws["rock"]):
|
||||||
|
if (throws[self] == throws["paper"]):
|
||||||
|
return "win"
|
||||||
|
if (throws[opponent] == throws["paper"]):
|
||||||
|
if (throws[self] == throws["scissors"]):
|
||||||
|
return "win"
|
||||||
|
if (throws[opponent] == throws["scissors"]):
|
||||||
|
if (throws[self] == throws["rock"]):
|
||||||
|
return "win"
|
||||||
|
return "lose"
|
||||||
|
|
||||||
|
def calculateScore(throw, result):
|
||||||
|
return gameResult[result] + throws[throw]
|
||||||
|
|
||||||
|
for line in input:
|
||||||
|
opponentThrow = opponentThrowMap[line[0]]
|
||||||
|
myThrow = determineThrow(opponentThrow, desiredOutcomeMap[line[2]])
|
||||||
|
game = determineWinner(opponentThrow, myThrow)
|
||||||
|
total += calculateScore(myThrow, game)
|
||||||
|
|
||||||
|
print(total)
|
||||||
|
print(datetime.datetime.now())
|
||||||
15
day3/main.py
Normal file
15
day3/main.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
input = open("./test.txt", "r")
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
for line in input:
|
||||||
|
total += total
|
||||||
|
lineLength = len(line) - 1
|
||||||
|
lineLength = int(lineLength / 2)
|
||||||
|
print(lineLength)
|
||||||
|
pack1 = line[:lineLength]
|
||||||
|
pack2 = line[lineLength:]
|
||||||
|
print(pack1)
|
||||||
|
print(pack2)
|
||||||
|
|
||||||
|
print(total)
|
||||||
6
day3/test.txt
Normal file
6
day3/test.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||||
|
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||||
|
PmmdzqPrVvPwwTWBwg
|
||||||
|
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||||
|
ttgJtRGJQctTZtZT
|
||||||
|
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||||
Reference in New Issue
Block a user