0829 - AfisareRec
Cerinţa
Să se scrie o funcție recursivă care citește de la tastatură un șir de valori naturale și le afișează în ordine inversă, cu câte un spațiu între ele.
Date de intrare
Se va introduce de la tastatură un număr natural care va fi transmis ca perimetru
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".
Restricţii şi precizări
numele funcției va fi afis; funcția nu va avea parametri și nu va returna nimic; șirul de valori citite se încheie la citirea valorii 0.
Exemplu
Dacă se introduc valorile 4 9 2 0 se va afișa 0 2 9 4.
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
def afisare_inversa(): numar = int(input()) if numar == 0: return afisare_inversa() print(numar, end=' ')
Pentru a valida datele de intrare, putem scrie o funcție validare care primește un singur parametru numar și returnează True dacă numar este un număr natural nenul și False în caz contrar:
def validare(numar): if numar <= 0: return False return True
Pentru a rezolva problema, putem apela funcția afisare_inversa în funcția rezolvare, care nu primește niciun parametru și nu returnează nimic:
def rezolvare(): print("Introduceti sirul de numere:") afisare_inversa()
În final, putem scrie funcția main care va apela funcțiile validare și rezolvare și va afișa mesajul corespunzător în funcție de rezultatul validării:
def main(): numar = int(input("Introduceti numarul de elemente: ")) if not validare(numar): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.") rezolvare() if __name__ == "__main__": main()
În funcția main, se citește numărul de elemente de la tastatură și se verifică dacă acesta respectă restricțiile impuse folosind funcția validare. Dacă nu respectă, se afișează un mesaj de eroare, altfel se afișează un mesaj de confirmare și se apelează funcția rezolvare.