0177 - Bisect

From Bitnami 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

<syntaxhighlight lang="python" line="1" start="1">

  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


  1. 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")


  1. Î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

</syntaxhighlight>