0votos

Calcular fecha de "miércoles de ceniza" en Python

por MrReplay hace 17 días

Calculo numérico, usando la formula computus, interesante problema nunca pensé que se usara un algoritmo para calcular esos días.

Diseñar una función que retorne la fecha de cuando es el Miércoles de Ceniza.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def pascuas (): 
    y = int ( input() ) 
    a = 0; b = 0 ; c = 0 ; d = 0 ; e  = 0 
    M = 24 ; N = 5 
 
    a = y%19 
    b = y%4 
    c = y%7 
    d = (19*a + M )% 30 
    e = (2*b + 4*c + 6*d + N)% 7 
 
    pascua = 0 
    mes = 3 
     
 
    if  d + e < 10 : 
        pascua = str(d+e+22) 
    elif d+e > 9: 
        pascua = str(d+e-9) 
        mes = 4 
 
    if pascua == 26: 
        pascua == str(19) 
         
    elif pascua == 25 and d == 28 and e == 6 and a >10: 
        pascua = str(18) 
         
    fecha = miercolesCeniza( y, pascua, mes) 
    print( fecha[0], '/', fecha[1] , '/',y ) 
     
 
 
 
def miercolesCeniza ( yaerS , diaS, mesS ): 
     
    dia = int(diaS); mes = int(mesS); y = int(yaerS) 
    diasRestantes = 0 
    mes -= 1 
 
    if y % 4 == 0: 
        dia -= 2 
 
    diasRestantes = dia - 45 
        ## dias de marzo 
    diasRestantes = diasRestantes + 30 
     
    if diasRestantes < 0: 
            ## dias de febrero 
        mes -= 1 
        if y % 4 == 0: 
            diasRestantes = 29 + diasRestantes 
        else: 
            diasRestantes = 28 + diasRestantes 
 
    fecha = [] 
    fecha.append(diasRestantes)  
    fecha.append(mes) 
    return fecha 
 
     
 
 
 
 
pascuas() 
1 comentario
0votos

Escrito por Emanuel hace 17 días

Gracias por compartir tu solución...

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.