0907 - AfisareNumerePare1

De la Universitas MediaWiki

Cerință

Scrieți definiția completă a funcției Python afisare care primește doi parametri a și b și determină afișarea pe ecran, în ordine crescătoare, numerele naturale pare cuprinse între a și b, inclusiv acestea.

Date de intrare

Se citesc de la tastatură doi parametri a și b, reprezentând limitele inferioară și superioară ale intervalului de numere naturale pare de afișat.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Funcția nu returnează nimic, ci doar afișează pe ecran, în ordine crescătoare, numerele naturale pare cuprinse între a și b, inclusiv acestea, separate prin câte un spațiu. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări

  • numele funcției va fi afisare
  • funcția va avea exact doi parametri: a, respectiv b
  • 0 < a , b <= 1000
  • numerele vor fi afișate pe aceeași linie, separate prin câte un spațiu

Exemplu

Intrare
7
2
Ieșire
Datele de intrare sunt corecte.
2 4 6

Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

def validare(a, b):
    """
    Verifică dacă valorile primite ca parametri sunt valide.
    """
    if a <= 0 or a > 1000 or b <= 0 or b > 1000:
        return False
    return True

def afisare(a, b):
    """
    Afiseaza numerele naturale pare cuprinse intre a si b inclusiv acestea, in ordine crescatoare.
    """
    # verificam daca valorile primite sunt valide
    if not validare(a, b):
        print("Valorile primite nu sunt valide!")
        return
    
    # determinam care este numarul mai mic si care este numarul mai mare
    start = min(a, b)
    end = max(a, b)
    
    # afisam numerele pare din intervalul [start, end]
    for i in range(start, end+1):
        if i % 2 == 0:
            print(i, end=" ")
    print()  # afisam un newline la final

# exemplu de utilizare a functiei afisare
if __name__ == "__main__":
    a = int(input("numarul 1: "))
    b = int(input("numarul 2: "))
    if validare(a, b):
        print("Datele de intrare sunt corecte.")
        afisare(a, b)
    else:
        print("Valorile primite nu sunt valide!")