Avez-vous un devoir de drapeau pour aider votre enfant à aller à l'école en tant qu'activité de sécurité locale? Dans ma région, on ne connaît que le nombre de personnes en service dans la zone en charge et la prochaine personne à transmettre. Par conséquent, il y avait un problème que je ne pouvais pas planifier de travail parce que je ne savais pas la date et l'heure auxquelles le prochain drapeau arriverait après que le drapeau soit en service.
J'ai créé un programme en python qui compte cela et vérifie quand le drapeau tourne.
python 3.7.7 (environnement anaconda)
Installer jpholiday avec pip Installer jpholiday
import datetime
import jpholiday
# -------Réglage initial--------------
#Le jour où le drapeau était en service
day = datetime.date(2020,6,29)
NumberOfPeople = 31 #Tournez par personne
# -------Configuration initiale jusqu'à ici------
daycount = 0
for i in range(0,365):
#Sauter uniquement au début
if i != 0:
day = day + datetime.timedelta(days =1)
#Samedi et dimanche saut 0: Getsuyoubi 6:dimanche
if day.weekday() == 5 or day.weekday() == 6:
continue
#Saut de vacances
if jpholiday.is_holiday(day):
continue
#Écrivez vos vacances d'été, cliquez ici 8/8 -23 sont les vacances d'été
if day >= datetime.date(2020,8,8) and day <= datetime.date(2020,8,23):
continue
#Rechercher une date spécifiée en fonction de trop
q,mod = divmod(daycount,NumberOfPeople)
if mod == 0:
#Date d'impression
print(day)
#Comptage en service
daycount = daycount+1
Imprimer le nombre de jours à partir du jour spécifié, en comptant les jours de vacances, les samedis, dimanches et vacances d'été. Vous pouvez voir le jour du prochain tour de drapeau.
2020-06-29
2020-08-27
2020-10-13
2020-11-27
2021-01-13
2021-03-01
2021-04-13
2021-06-01
Qui utiliserait ce code?
Recommended Posts