from pathlib import Path
def main():
input = Path('input.txt').read_text().split('\n')
names = input[0].split(',')
instructions = input[-1].split(',')
print(names,instructions)
index = 0
for instruction in instructions:
dir = instruction[0]
number = int(instruction[1:])
if dir == 'L':
index -= number
if index < 0:
index = 0
else:
index += number
if index > len(names) - 1:
index = len(names) - 1
print(names[index])
index = 0
for instruction in instructions:
dir = instruction[0]
number = int(instruction[1:])
if dir == 'L':
index -= number
else:
index += number
print(names[index%(len(names))])
indexes = list(range(len(names)))
for instruction in instructions:
dir = instruction[0]
number = (int(instruction[1:]) if dir == 'R' else -int(instruction[1:])) % len(names)
indexes[0], indexes[number] = indexes[number], indexes[0]
print(names[indexes[0]])
if __name__ == "__main__":
main()
I probably should read all 3 files though. I'll hone it out later.
syntax is bad for list operations, also there are situations where you need to count the number of parentheses you closed, which wouldn't happen of you were able to use fluent interfaces
100?