# 9 

def bissextile(a):
    return (a%4 == 0 and a%100 != 0) or a%400 == 0

def nbjoursannee(a):
    if bissextile(a):
        return 366
    else:
        return 365

def nbjoursmois(a, m):
    if m == 2:
        if bissextile(a):
            return 29
        else:
            return 28
    elif m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12:
        return 31
    else:
        return 30

# On part du principe que la première date est toujours antérieur à la seconde date

def nbjours(jn, mn, an, j, m, a):
    n = 0
    
    if an != a :    # Si les deux dates ne sont pas la même année
    
        # jours restants pour finir le mois de départ
        n += nbjoursmois(an, mn) - jn
        
        # mois restants pour finir l'année de départ
        for i in range(mn+1, 13):
            n += nbjoursmois(an, i)
            
        # années pleines entre les deux dates
        for i in range(a - (an +1)):
            n += nbjoursannee(an+1+i)
                
        # mois de la dernière année
        for i in range(1, m):
            n += nbjoursmois(a, i)
        
        # jours de la dernière année
        n += j
            
    elif mn != m:     # Si les deux dates sont la même année mais pas le même mois
    
        # jours restants pour finir le mois de départ
        n += nbjoursmois(an, mn) - jn
        
        # mois pleins entre les deux dates
        for i in range(m - (mn+1)):
            n += nbjoursmois(an, an + 1 + i)
        
        # jours de la deuxième date
        n += j
    
    else:     # Les deux dates sont la même année et le même mois
        n += j - jn
    return n
    
    
print(nbjours(25, 12, 2025, 25, 12, 2025)) # doit afficher 0, c’est le même jour.
print(nbjours(24, 12, 2025, 25, 12, 2025)) # doit afficher 1, c’est la veille.
print(nbjours(25, 11, 2025, 25, 12, 2025)) # doit afficher 30
print(nbjours(1, 1, 2024, 1, 1, 2025)) # doit afficher 366
print(nbjours(1, 1, 2025, 1, 1, 2026)) # doit afficher 365
print(nbjours(20, 11, 1989, 25, 12, 2025)) # doit afficher 13184
