from datetime import datetime, timedelta
def get_shift_schedule(start_date,num_weeks):
shift_schedule = []
current_date = start_date
for i in range(num_weeks):
week_number = i + 1
day_shift_start = current_date
afternoon_shift_start = current_date + timedelta(days=14)
night_shift_start = current_date + timedelta(days=28)
shift_schedule.append({
"Week": week_number,
"Day Shift": day_shift_start.strftime("%A, %d %B"),
"Afternoon Shift": afternoon_shift_start.strftime("%A, %d %B"),
"Night Shift": night_shift_start.strftime("%A, %d %B")
})
current_date += timedelta(days=42)
return shift_schedule
start_date = datetime.strptime("2024-03-11", "%Y-%m-%d")
num_weeks = 52
shift_schedule = get_shift_schedule(start_date, num_weeks)
for shift in shift_schedule:
print("Week", shift["Week"])
print("Day Shift:", shift["Day Shift"])
print("Afternoon Shift:", shift["Afternoon Shift"])
print("Night Shift:", shift["Night Shift"])
print()
Please copy your ENTIRE code as shown here:
Afterwards, check if it is formatted as it is on your computer to make sure it has been entered correctly.
It appears that your code had improper indentation towards the lower half:
from datetime import datetime, timedelta
def get_shift_schedule(start_date, num_weeks):
shift_schedule = []
current_date = start_date
for i in range(num_weeks):
week_number = i + 1
day_shift_start = current_date
afternoon_shift_start = current_date + timedelta(days = 14)
night_shift_start = current_date + timedelta(days = 28)
shift_schedule.append({
"Week": week_number,
"Day Shift": day_shift_start.strftime("%A, %d %B"),
"Afternoon Shift": afternoon_shift_start.strftime("%A, %d %B"),
"Night Shift": night_shift_start.strftime("%A, %d %B")
})
current_date += timedelta(days=42)
return shift_schedule
start_date = datetime.strptime("2024-03-11", "%Y-%m-%d")
num_weeks = 52
shift_schedule = get_shift_schedule(start_date, num_weeks)
for shift in shift_schedule:
print("Week", shift["Week"])
print("Day Shift:", shift["Day Shift"])
print("Afternoon Shift:", shift["Afternoon Shift"])
print("Night Shift:", shift["Night Shift"])
print()
Just a small suggestion. Try and space out your code slightly so that it is both easier to read and to debug.
1 Like