completes day2, starts day3.

This commit is contained in:
2022-12-04 18:45:41 -05:00
parent f3e85556d7
commit de37379cc0
4 changed files with 95 additions and 0 deletions

74
day2/part2.py Normal file
View 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
View 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
View File

@@ -0,0 +1,6 @@
vJrwpWtwJgWrhcsFMMfFFhFp
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
PmmdzqPrVvPwwTWBwg
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
ttgJtRGJQctTZtZT
CrZsJsPPZsGzwwsLwLmpwMDw