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