Я пишу код для составителя расписания. Этот код учитывает предметы, которые вы хотите изучать, и предпочтения в обучении (утро, день, вечер). Затем я беру на изучение общее количество часов (20 часов) в неделю. Затем я делю это на 7, чтобы рассчитать учебу в день. Затем я хочу назначить случайную тему моему случайному временному интервалу.
# Time Table Creator
import random
def TimeTableCreator(subjects,day,time_slots,total_hours):
day = {}
studyperday = total_hours/7
studyperday = round(studyperday)
subjects_study = random.sample(subjects,k=studyperday) # subjects that are selected randomly
final_time_slots = random.sample(time_slots,k=studyperday) # list of my time slots
#trying to add both these items using for loop in a dictionary
for subject in subjects_study:
for i in range(studyperday):
day[subject] = final_time_slots[i]
print(day)
subjects = []
while True:
subject = input("Enter a subject:\n")
if subject=="":
break
subjects.append(subject)
total_hours = 20
print("What is your preference of studying: Morning or afternoon or evening:")
time_preference = input()
if time_preference.lower()=="morning":
time_slots = ["7:00-8:00","8:00-9:00","9:00-10:00","10:00-11:00","2:00-3:00"]
elif time_preference.lower()=="afternoon":
time_slots = ["12:00-13:00","13:00-14:00","15:00-16:00","16:00-17:00","18:00-19:00"]
elif time_preference.lower()=="evening":
time_slots = ["16:00-17:00","18:00-19:00","19:00-20:00","20:00-21:00","21:00-22:00"]
else:
print("Invalid preference")
TimeTableCreator(subjects,"Monday",time_slots,total_hours)
Программный вывод
Enter a subject:
phy
Enter a subject:
chem
Enter a subject:
bio
Enter a subject:
What is your preference of studying: Morning or afternoon or evening:
morning
**{'chem': '2:00-3:00', 'phy': '2:00-3:00', 'bio': '2:00-3:00'}**
Process finished with exit code 0
Как вы можете видеть, временной интервал совпадает с назначенным на разные темы. Но я хочу, чтобы временные интервалы были разными для каждого предмета. Я хочу, чтобы временные интервалы были разными для каждого предмета. Он показывает от 2:00 до 3:00 по каждому предмету. Но я хочу, чтобы разным предметам были выделены разные слоты Помогите, пожалуйста.