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