Я работаю над простым веб-приложением для курсового проекта, которое является базовым c трекером путешествий. Пользователь может ввести дату вылета, пункт назначения, авиакомпанию и дату возвращения. Пользователь будет вводить несколько поездок. Этот интерфейс сохраняется в текстовом файле. В рамках проекта я также должен использовать классы. Выбранный класс - «Поездки», а параметры - пользовательский интерфейс. Затем я построил обратный отсчет, чтобы показать время до или с даты отъезда. Я хочу, чтобы это использовать объект класса и параметр. Я ищу способ автоматизации имени объекта и параметров из пользовательского интерфейса. Ниже приведен код, а в строке 24 показана строка, которую я надеюсь достичь автоматически.
import datetime
#set class
class Trips:
def __init__(self, destination, dep_date, airline, ret_date):
self.destination = destination
self.dep_date = dep_date
self.airline = airline
self.ret_date = ret_date
#get trips
def get_trips():
tripsdb = open("tripsdb.txt")
content = tripsdb.read()
tripsdb.close()
trips = content.split("$$$")
trips.pop(len(trips)-1)
return trips
#countdown days to departure using datetime
def countdown():
trips = get_trips()
trip1 = Trips(*trips[2].split(",")) #need to automate
get_date = trip1.dep_date
depart_date = datetime.datetime.strptime(get_date, "%d.%m.%Y")
#set todays date
nowdate = datetime.datetime.now()
#difference in seconds
count = int((depart_date-nowdate).total_seconds())
#divide into days
days = count/86400
# set as int to round and string to concatenate, use abs to remove "-"
if int(days) > 0:
return(str(int(days)) + " days left to departure")
elif int(days) == 0:
return "You depart today!"
else:
return (str(abs(int(days))) + " days since your departure")
print(countdown())
Я перепробовал все виды с циклами и почтовыми индексами, но продолжаю зацикливаться на всевозможных ошибках в зависимости от того, что я пробовал. Я попытался создать массив, используя для l oop на протяжении длины трипов, которые возвращали бы trip_num = [trip0, trip1, trip2], чтобы я мог получить имена переменных.
def get_array():
array = []
num = -1
trips = get_trips()
for trip in trips:
num += 1
array += ["trip " + str(num)]
return array
trip_num = get_array()
Затем я хотел объединить в основном первый элемент в trip_num с первым элементом в trip , чтобы вернуть что-то вроде trip1 = пункт назначения, dep_date, авиакомпания, ret_date и т. д. для каждого. Видишь, что я имею в виду?