Pregunta diaria de Blue Bridge Cup (1): Diario de Gauss (pitón)

Tema:

El gran matemático Gauss tiene una buena costumbre: llevar un diario de todos modos.
Hay una diferencia en su diario. Nunca anotó el año, el mes y el día, sino que utilizó un número entero. Por ejemplo, después de 4210, la
gente sabía que el número entero era la fecha y decía que el día era el día siguiente. Nació Gauss. Día. Esto también puede ser un buen hábito, ya que recuerda al propietario todo el tiempo: Los días pasan un día, ¿cuánto tiempo se puede desperdiciar?
Nació Gauss: 30 de abril de 1777.
En el diario de un importante teorema descubierto por Gauss, está marcado: 5343, por lo que se puede calcular que el día es: 15 de diciembre de 1791.
El diario del día en que Gauss recibió su doctorado está marcado: 8113
, calcule la fecha en la que Gauss recibió su doctorado

Solución:

(Se puede ver en el ejemplo que el nacimiento también es un día)
Como está relacionado con la fecha, es fácil pensar en el módulo datetime.
Primero use la función strptime para convertir la fecha de nacimiento en un formato de fecha y hora para procesamiento posterior.
Después de eso, utilice la función DeltaTime al día converso al día delta (tiempo incremental))
Por último, añadir la fecha de nacimiento y el tiempo incrementales para obtener la última vez.
utilice el método strftime para finalmente emitir el tiempo.
Se puede también se emitirá directamente, pero el resultado de salida directa incluye minutos y segundos.

Código_1:

import datetime
days = int(input('日记时间:')) - 1

birth = datetime.datetime.strptime('1777-4-30', '%Y-%m-%d')

delta = datetime.timedelta(days=days)

doctor = birth + delta

print(doctor.strftime('%Y-%m-%d'))

Código_2:

Método general, no limitado a esta pregunta

import datetime
days = int(input('间隔天数:')) - 1
year = str(input('开始年份:'))
month = str(input('开始月份:'))
day = str(input('开始日期:'))

start = [year, month, day]
start = '-'.join(start)

birth = datetime.datetime.strptime(start, '%Y-%m-%d')

delta = datetime.timedelta(days=days)

doctor = birth + delta

print(doctor.strftime('%Y-%m-%d'))

Supongo que te gusta

Origin blog.csdn.net/weixin_50791900/article/details/112276853
Recomendado
Clasificación