initial commit
This commit is contained in:
commit
39f56a3b10
83 files changed
+3583
No files matched your search
@@ -0,0 +1,114 @@
|
||||
|
||||
|
||||
class RouteManager:
|
||||
def __init__(self,file="t_connections.txt"):
|
||||
self.cities = []
|
||||
self.connections: dict[str, list] = dict()
|
||||
self.journey = []
|
||||
self.f_length = 0
|
||||
self.setup(file)
|
||||
|
||||
def add_connection(self, city, connection):
|
||||
self.connections[city] = connection
|
||||
|
||||
|
||||
def setup(self,file):
|
||||
with open(file, "r") as f:
|
||||
for line in f:
|
||||
self.f_length += 1
|
||||
|
||||
f.seek(0)
|
||||
for _ in range(self.f_length):
|
||||
line = f.readline().strip()
|
||||
split_line = line.split()
|
||||
|
||||
|
||||
if split_line[0] not in self.cities:
|
||||
self.cities.append(split_line[0])
|
||||
|
||||
|
||||
if split_line[2] not in self.cities:
|
||||
self.cities.append(split_line[2])
|
||||
|
||||
for _ in range(len(self.cities)):
|
||||
self.add_connection(self.cities[_], [])
|
||||
|
||||
f.seek(0)
|
||||
for _ in range(self.f_length):
|
||||
line = f.readline().strip()
|
||||
split_line = line.split()
|
||||
if split_line[2] not in self.connections[split_line[0]]:
|
||||
self.connections[split_line[0]].append(split_line[2])
|
||||
|
||||
def get_directions(self,origin,):
|
||||
try:
|
||||
return self.connections[origin]
|
||||
except KeyError:
|
||||
return "Origin not Found"
|
||||
|
||||
def create_route(self,origin):
|
||||
if origin in self.cities:
|
||||
directions = self.get_directions(origin)
|
||||
l = len(directions)
|
||||
|
||||
if l != 0:
|
||||
for _ in range(l):
|
||||
print(f"{origin} -> {directions[_]}")
|
||||
print()
|
||||
else:
|
||||
print(f"No connections from {origin}")
|
||||
else:
|
||||
print("Origin not Found")
|
||||
|
||||
def add_to_journey(self,origin,destination):
|
||||
if not self.journey:
|
||||
self.journey.append(origin)
|
||||
self.journey.append(destination)
|
||||
else: self.journey.append(destination)
|
||||
|
||||
def save_journey(self,journey_name):
|
||||
with open(f"{journey_name}.txt", "a") as f:
|
||||
f.writelines(f" > {self.journey[_]}" for _ in range (len(self.journey)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
rm = RouteManager()
|
||||
print("Welcome to Route-Manager")
|
||||
print(f"Known origins {rm.cities}")
|
||||
|
||||
while True:
|
||||
print("1. New journey")
|
||||
print("2. Load journey")
|
||||
print("3. quit")
|
||||
usr_input = input("1 / 2 / 3?: ")
|
||||
|
||||
if usr_input == "1":
|
||||
while True:
|
||||
usr_origin = input("Set your origin: ")
|
||||
print()
|
||||
rm.create_route(usr_origin)
|
||||
usr_destination = input("Type in your destination: ")
|
||||
rm.add_to_journey(usr_origin, usr_destination)
|
||||
print()
|
||||
|
||||
_usr_input = input("Continue Journey? (y/n): ")
|
||||
|
||||
if _usr_input == "n":
|
||||
usr_save = input("Save journey? (y/n): ")
|
||||
|
||||
if usr_save == "y":
|
||||
file_name = input("Enter file name: ")
|
||||
rm.save_journey(file_name)
|
||||
break
|
||||
|
||||
if usr_input == "2":
|
||||
pass
|
||||
|
||||
if usr_input == "3":
|
||||
break
|
||||
|
||||
|
||||
main()
|
||||
@@ -0,0 +1,7 @@
|
||||
Nuremberg > Berlin
|
||||
Nuremberg > Frankfurt
|
||||
Nuremberg > Munich
|
||||
Munich > Nuremberg
|
||||
Hamburg > Berlin
|
||||
Berlin > Hamburg
|
||||
Berlin > Nuremberg
|
||||
@@ -0,0 +1,3 @@
|
||||
> Nuremberg
|
||||
> Frankfurt
|
||||
> Nuremberg
|
||||
@@ -0,0 +1,106 @@
|
||||
class RouteManager:
|
||||
def __init__(self,file="t_connections.txt"):
|
||||
self.cities = []
|
||||
self.connections: dict[str, list] = dict()
|
||||
self.journey = []
|
||||
self.f_length = 0
|
||||
self.setup(file)
|
||||
|
||||
def add_connection(self, city, connection):
|
||||
self.connections[city] = connection
|
||||
|
||||
def setup(self,file):
|
||||
with open(file, "r") as f:
|
||||
for line in f:
|
||||
self.f_length += 1
|
||||
|
||||
f.seek(0)
|
||||
for _ in range(self.f_length):
|
||||
line = f.readline().strip()
|
||||
split_line = line.split()
|
||||
|
||||
if split_line[0] not in self.cities: self.cities.append(split_line[0])
|
||||
if split_line[2] not in self.cities: self.cities.append(split_line[2])
|
||||
|
||||
for _ in range(len(self.cities)):
|
||||
self.add_connection(self.cities[_], [])
|
||||
|
||||
f.seek(0)
|
||||
for _ in range(self.f_length):
|
||||
line = f.readline().strip()
|
||||
split_line = line.split()
|
||||
if split_line[2] not in self.connections[split_line[0]]:
|
||||
self.connections[split_line[0]].append(split_line[2])
|
||||
|
||||
def get_directions(self,origin,):
|
||||
try:
|
||||
return self.connections[origin]
|
||||
except KeyError:
|
||||
return "Origin not Found"
|
||||
|
||||
def create_route(self,origin):
|
||||
if origin in self.cities:
|
||||
directions = self.get_directions(origin)
|
||||
l = len(directions)
|
||||
|
||||
if l != 0:
|
||||
for _ in range(l):
|
||||
print(f"{origin} -> {directions[_]}")
|
||||
print()
|
||||
else:
|
||||
print(f"No connections from {origin}")
|
||||
else:
|
||||
print("Origin not Found")
|
||||
|
||||
def add_to_journey(self,origin,destination):
|
||||
if not self.journey:
|
||||
self.journey.append(origin)
|
||||
self.journey.append(destination)
|
||||
else: self.journey.append(destination)
|
||||
|
||||
def save_journey(self,journey_name):
|
||||
with open(f"{journey_name}.txt", "a") as f:
|
||||
f.writelines(f" > {self.journey[_]}" for _ in range (len(self.journey)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
rm = RouteManager()
|
||||
print("Welcome to Route-Manager")
|
||||
print(f"Known origins {rm.cities}")
|
||||
|
||||
while True:
|
||||
print("1. New journey")
|
||||
print("2. Load journey")
|
||||
print("3. quit")
|
||||
usr_input = input("1 / 2 / 3?: ")
|
||||
|
||||
if usr_input == "1":
|
||||
while True:
|
||||
usr_origin = input("Set your origin: ")
|
||||
print()
|
||||
rm.create_route(usr_origin)
|
||||
usr_destination = input("Type in your destination: ")
|
||||
rm.add_to_journey(usr_origin, usr_destination)
|
||||
print()
|
||||
|
||||
_usr_input = input("Continue Journey? (y/n): ")
|
||||
|
||||
if _usr_input == "n":
|
||||
usr_save = input("Save journey? (y/n): ")
|
||||
|
||||
if usr_save == "y":
|
||||
file_name = input("Enter file name: ")
|
||||
rm.save_journey(file_name)
|
||||
break
|
||||
|
||||
if usr_input == "2":
|
||||
pass
|
||||
|
||||
if usr_input == "3":
|
||||
break
|
||||
|
||||
|
||||
main()
|
||||
Reference in new issue
Block a user