0177 - Bisect

De la Universitas MediaWiki

Cerință

Să se scrie un program care verifică dacă un an calendaristic precizat este bisect. Un an este bisect dacă se divide cu 4 și nu se divide cu 100 sau se divide cu 400.

Date de intrare

Programul citește de la tastatură numărul n, reprezentând anul.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran mesajul bisect, dacă anul este bisect, sau nebisect, în caz contrar. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

0 < n < 5000

Exemplul 1

Intrare
2000
Ieșire
Datele de intrare corespund restricțiilor impuse.
bisect

Exemplul 2

Intrare
1990
Ieșire
Datele de intrare corespund restricțiilor impuse.
nebisect

Rezolvare

Rezolvare ver. 1

# Definim o funcție pentru a valida dacă numerele se încadrează în intervalul impus
def validare(n):
    if 0 < n < 5000:
        return True
    else:
        return False


# Definim o funcție pentru a determina daca anul este bisect
def bisect(n):
    if n % 4 == 0 and n % 100 != 0 or n % 400 == 0:
        print("bisect")
    else:
        print("nebisect")


# Începem programul principal
if __name__ == '__main__':
    n = int(input("Introduceți anul: "))  # Citim anul de la tastatură și îl convertim în  numar întreg
    if validare(n):  # Verificăm dacă numărul este valid
        print("Datele de intrare corespund restricțiilor impuse.")  # Dacă da, afișăm un mesaj corespunzător
        bisect(n)  # Apelăm funcția pentru a determina daca anul este bisect
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")  # Dacă nu, afișăm un mesaj corespunzător