Salta al contenuto principale

Dopo aver installato il Python sul proprio computer con la versione giusta per il proprio sistema operativo cominciamo a scrivere alcuni programmi.

Il seguente programma calcola il mese e il giorno della Pasqua, fornendo in input l'anno nel formato YYYY (per esempio nel 2019 la Pasqua sarà il giorno... 21 aprile.

Ecco il programma in Python

# calcolo del giorno e del mese della Pasqua
# made by Fausto
# versione 0.1
# 2016.03.21
def verifica_anno(p_anno):
    import string
    for i in range(0, len(p_anno)):
        if p_anno[i] not in string.digits:
            return False
    return True
print("Inserire l'anno per calcolare il giorno e il mese per la Pasqua")
Stringa_anno = input(": ")
if not verifica_anno(Stringa_anno):
    print(Stringa_anno,' non è un anno')
else:
    anno = int(Stringa_anno)

    mesi=["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno"];
    b=anno//100
    c=anno%100
    a=(5*b+c)%19
    r=(3*(b+25))//4
    s=(3*(b+25))%4
    t=(8*(b+11))//25
    h=(19*a+r-t)%30
    g=(a+11*h)//319
    j=(60*(5-s)+c)//4
    k=(60*(5-s)+c)%4
    m=(2*j-k-h+g)%7
    mese = (h-g+m+110)//30
    q = (h-g+m+110)%30
    giorno = (q+5-mese)%32
    print("La Pasqua dell'anno ", anno, " è il giorno ", giorno," di", mesi[mese-1])
print("Fine")

Se lo si manda in esecuzione ecco alcune prove:

>>>
 RESTART: calcolo_pasqua.py
Inserire l'anno per calcolare il giorno e il mese per la Pasqua
: 2021
La Pasqua dell'anno  2021  è il giorno  4  di Aprile
Fine
>>>
 RESTART: calcolo_pasqua.py
Inserire l'anno per calcolare il giorno e il mese per la Pasqua
: 2025
La Pasqua dell'anno  2025  è il giorno  20  di Aprile
Fine
>>>
 RESTART: calcolo_pasqua.py
Inserire l'anno per calcolare il giorno e il mese per la Pasqua
: 2016
La Pasqua dell'anno  2016  è il giorno  27  di Marzo
Fine
>>>
 RESTART: calcolo_pasqua.py
Inserire l'anno per calcolare il giorno e il mese per la Pasqua
: 2019
La Pasqua dell'anno  2019  è il giorno  21  di Aprile
Fine
>>>

L'algoritmo è tratto dal libro "Coding Lab", ISBN 978-88-08-42117-3 di Meini, Formichi, Di Palma, Tani e Venuti, edito da Zanichelli che si consiglia per approfondimenti sul Python, sul Problem Solving, su Scratch , su MIT App Inventor e su Raspberry PI.

Categorie