On valmis

This commit is contained in:
2023-12-09 16:55:47 +02:00
parent 4b183d52a9
commit a6c8bd7268

View File

@@ -6,8 +6,8 @@ import re
class RL:
def __init__(self, L, R):
self.directions = {}
self.directions['R'] = R
self.directions['L'] = L
self.directions["R"] = R
self.directions["L"] = L
def get(self, direction):
return self.directions[direction]
@@ -29,13 +29,13 @@ for line in lines:
instructions = line
x += 1
continue
if line == '':
print('Tühi rida')
if line == "":
print("Tühi rida")
continue
temp = re.findall(r'\w+', line)
temp = re.findall(r"\w+", line)
z = list(temp)
maps[z[0]] = RL(z[1], z[2])
if z[0][2] == 'A':
if z[0][2] == "A":
print(f"Lisan alguse {z[0]}")
algused.append(z[0])
@@ -45,24 +45,87 @@ print(algused)
teemeveel = True
x = 0
while teemeveel:
# while teemeveel:
# # print(f"Samm {instructions[x % len(instructions)]} {instructions} {x}")
# # if x % (len(instructions)*100) == 0:
# # print(x)
# for idx, vastus in enumerate(algused):
# # print(algused[idx])
# algused[idx] = maps[vastus].get(instructions[x % len(instructions)])
# # print(algused[idx])
# # print(f"Samm {x}")
# for i in algused:
# teemeveel = False
# # print(f"I on {i}")
# if i[2] != 'Z':
# # print('Edasi on vaja teha')
# teemeveel = True
# break
# # print(teemeveel)
# x += 1
print(f"Juhiste pikkus on {len(instructions)}")
for vastus in algused:
alustasin = vastus
sammud = {}
kohad = {}
# for i in range(0,len(instructions)):
# sammud[i] = []
# print(f"Samm {instructions[x % len(instructions)]} {instructions} {x}")
# if x % (len(instructions)*100) == 0:
# print(x)
for idx, vastus in enumerate(algused):
# print(algused[idx])
algused[idx] = maps[vastus].get(instructions[x % len(instructions)])
# print(algused[idx])
# print(f"Samm {x}")
for i in algused:
teemeveel = False
# print(f"I on {i}")
if i[2] != 'Z':
# print('Edasi on vaja teha')
teemeveel = True
break
# print(teemeveel)
#print(vastus)
#while vastus[2] != "Z":
# while vastus not in sammud[x % len(instructions)]:
# sammud[i].append(vastus)
# vastus = maps[vastus].get(instructions[x % len(instructions)])
# x += 1
# jargmine = maps[vastus].get(instructions[x % len(instructions)])
# print(f"{vastus} -> {jargmine}")
# print(x)
while vastus[2] != "Z":
#sammud[i].append(vastus)
vastus = maps[vastus].get(instructions[x % len(instructions)])
x += 1
print(x)
print(f"alustasin {alustasin} {vastus}")
k1 = x
print(x)
x +=1
vastus = maps[vastus].get(instructions[x % len(instructions)])
while vastus[2] != "Z":
#sammud[i].append(vastus)
vastus = maps[vastus].get(instructions[x % len(instructions)])
x += 1
print(f"alustasin {alustasin} {vastus}")
k2 = x
print(x)
x +=1
vastus = maps[vastus].get(instructions[x % len(instructions)])
while vastus[2] != "Z":
#sammud[i].append(vastus)
vastus = maps[vastus].get(instructions[x % len(instructions)])
x += 1
k3 = x
x +=1
vastus = maps[vastus].get(instructions[x % len(instructions)])
while vastus[2] != "Z":
#sammud[i].append(vastus)
vastus = maps[vastus].get(instructions[x % len(instructions)])
x += 1
print(f"alustasin {alustasin} {vastus}")
print(x)
k4 = x
print(f"{k2-k1} {k3-k2} {k4-k3}")
print("######")
# print(f"Samm {instructions[x % len(instructions)]} {instructions} {x}")
# if x % (len(instructions)*100) == 0:
# print(x)