Encuentra el número de veces que ocurre cada día en un año

Dado un año, su tarea es encontrar el número de cada día en un año, es decir, el número de lunes, martes, miércoles, jueves, viernes, sábado, domingo en ese año dado.
Ejemplos: 
 

Input: 2019
Output: Monday-52
        Tuesday-53
        Wednesday-52
        Thursday-52
        Friday-52
        Saturday-52
        Sunday-52

Input: 2024
Output: Monday-53
        Tuesday-53
        Wednesday-52
        Thursday-52
        Friday-52
        Saturday-52
        Sunday-52

Observaciones: Tenemos que hacer algunas observaciones clave. La primera será que hay al menos 52 semanas en un año, por lo que cada día ocurrirá al menos 52 veces en un año. Como 52*7 es 364, el día que ocurre el 1 de enero de cualquier año ocurrirá 53 veces y si el año es bisiesto, entonces el día del 2 de enero también ocurrirá 53 veces.
Planteamiento: Crea una lista con tamaño 7 y que tenga un valor inicial de 52 ya que el número mínimo de ocurrencias será 52. Encuentra el índice del primer día. Calcular el número de días cuya ocurrencia será 53.
A continuación se muestra la implementación.
 

Python3

# python program Find number of
# times every day occurs in a Year
  
 
import datetime
import calendar
  
def day_occur_time(year):
     
    # stores days in a week
    days = [ "Monday", "Tuesday", "Wednesday", 
           "Thursday",  "Friday", "Saturday",
           "Sunday" ]
     
    # Initialize all counts as 52
    L = [52 for i in range(7)]
     
    # Find the index of the first day
    # of the year
    pos = -1
    day = datetime.datetime(year, month = 1, day = 1).strftime("%A")
    for i in range(7):
        if day == days[i]:
            pos = i
             
    # mark the occurrence to be 53 of 1st day
    # and 2nd day if the year is leap year
    if calendar.isleap(year):
        L[pos] += 1
        L[(pos+1)%7] += 1
         
    else:
        L[pos] += 1
         
     
    # Print the days
    for i in range(7):
        print(days[i], L[i])
      
  
# Driver Code
year = 2019
day_occur_time(year)

Producción:
 

Monday 52
Tuesday 52
Wednesday 52
Thursday 52
Friday 53
Saturday 53
Sunday 52

Publicación traducida automáticamente

Artículo escrito por Atul_kumar_Shrivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *