0339 - Numere: Difference between revisions
Sinn Erich (talk | contribs) |
Sinn Erich (talk | contribs) |
||
Line 32: | Line 32: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#0339 | #0339 | ||
def validate_input(n, numere): | |||
if not (1 <= n <= 100): | |||
return False | |||
for nr in numere: | |||
if len(nr) > 9: | |||
return False | |||
return True | |||
def gaseste_primul_numar_par(numere): | def gaseste_primul_numar_par(numere): | ||
for nr in numere: | for nr in numere: | ||
Line 37: | Line 46: | ||
return nr | return nr | ||
return "IMPOSIBIL" | return "IMPOSIBIL" | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = int(input("N este:")) | n = int(input("N este:")) | ||
numere = input("Numerele n sunt:").split() | numere = input("Numerele n sunt:").split() | ||
if not ( | if not validate_input(n, numere): | ||
print("Datele nu corespund restricțiilor impuse.") | print("Datele nu corespund restricțiilor impuse.") | ||
else: | else: | ||
print("Datele sunt introduse corect.") | print("Datele sunt introduse corect.") | ||
print(gaseste_primul_numar_par(numere)) | print(gaseste_primul_numar_par(numere)) | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 23:27, 27 April 2023
Sursa: [1]
Cerinţa
Se dau n numere naturale. Determinaţi primul număr par dintre cele n numere.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieșire
Programul afișează pe ecran numărul P, reprezentând primul număr par dintre cele n numere.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou afișează primul număr par dintre cele n numere.
În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse."
Restricţii şi precizări
- 1 ≤ n ≤ 100
cele n numere citite vor avea cel mult 9 cifre
Exemplul 1
- Datele de intrare
- N este:
- 5
- Numerele n sunt:
- 7 4 2 5 8
- Datele de ieșire
- Datele sunt introduse corect.
- 4
Rezolvare
<syntaxhighlight lang="python" line>
- 0339
def validate_input(n, numere):
if not (1 <= n <= 100): return False for nr in numere: if len(nr) > 9: return False return True
def gaseste_primul_numar_par(numere):
for nr in numere: if int(nr) % 2 == 0: return nr return "IMPOSIBIL"
if __name__ == '__main__':
n = int(input("N este:")) numere = input("Numerele n sunt:").split() if not validate_input(n, numere): print("Datele nu corespund restricțiilor impuse.") else: print("Datele sunt introduse corect.") print(gaseste_primul_numar_par(numere))
</syntaxhighlight>
Explicatie cod:
Acest cod are ca scop să găsească primul număr par dintr-o listă dată și să îl afișeze.
Funcția gaseste_primul_numar_par(numere) primește ca parametru o listă de numere, parcurge fiecare element din listă și verifică dacă acesta este par (divizibil cu 2). Dacă găsește un astfel de număr, îl va returna, altfel va returna șirul de caractere "IMPOSIBIL".
În cadrul blocului if __name__ == '__main__', se citesc valorile de intrare n și numere, reprezentând numărul de elemente din listă și lista propriu-zisă. Se verifică dacă n respectă condițiile cerute și dacă fiecare număr din listă are cel mult 9 cifre. Dacă nu sunt respectate aceste condiții, se va afișa un mesaj corespunzător și se va ieși din program. În caz contrar, se va apela funcția gaseste_primul_numar_par și se va afișa rezultatul.