0907 - AfisareNumerePare1

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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!")