0339 - Numere: Difference between revisions
Sinn Erich (talk | contribs) |
Sinn Erich (talk | contribs) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
Programul afișează pe ecran numărul '''P''', reprezentând primul număr par dintre cele '''n''' numere. | Programul afișează pe ecran numărul '''P''', reprezentând primul număr par dintre cele '''n''' numere. | ||
Dacă datele sunt introduse corect, | 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 | În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse." | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* | *1 ≤ '''n''' ≤ 100 | ||
cele n numere citite vor avea cel mult 9 cifre | |||
== Exemplul 1 == | == 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 | : 4 | ||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# | #0339 | ||
def | def validate_input(n, numere): | ||
if not (1 <= n <= 100): | |||
return False | |||
for nr in numere: | |||
if len(nr) > 9: | |||
return False | |||
return True | |||
for | |||
return | |||
def | def gaseste_primul_numar_par(numere): | ||
if | for nr in numere: | ||
if int(nr) % 2 == 0: | |||
return | return nr | ||
return "IMPOSIBIL" | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = int(input(" | n = int(input("N este:")) | ||
if not | numere = input("Numerele n sunt:").split() | ||
print("Datele | if not validate_input(n, numere): | ||
print("Datele nu corespund restricțiilor impuse.") | |||
else: | else: | ||
print("Datele sunt introduse corect.") | |||
print(gaseste_primul_numar_par(numere)) | |||
print("Datele introduse | |||
print( | |||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Explicatie cod:''' | |||
Acest cod primește un număr `n` și o listă de `n` numere și verifică dacă datele de intrare sunt valide, adică `n` trebuie să fie între 1 și 100 și fiecare număr din lista `numere` trebuie să aibă cel mult 9 cifre. | |||
Funcția `validate_input(n, numere)` primește doi parametri, `n` și `numere`, și începe prin a verifica dacă `n` se află în intervalul permis, adică între 1 și 100, utilizând expresia booleană `1 <= n <= 100`. Dacă această condiție nu este îndeplinită, funcția returnează `False`, indicând faptul că datele de intrare nu sunt valide. | |||
În caz contrar, pentru fiecare număr din lista `numere`, funcția verifică dacă numărul are cel mult 9 cifre, utilizând expresia booleană `len(nr) > 9`. Dacă un număr depășește această limită, funcția returnează `False`, indicând din nou faptul că datele de intrare nu sunt valide. | |||
În cele din urmă, dacă toate verificările sunt trecute cu succes, funcția returnează `True`, indicând că datele de intrare sunt valide. | |||
Funcția `gaseste_primul_numar_par(numere)` primește lista `numere` și caută primul număr par din listă. Pentru fiecare număr din listă, funcția verifică dacă numărul este par sau nu, utilizând expresia booleană `int(nr) % 2 == 0`. Dacă numărul este par, funcția returnează numărul respectiv. Dacă nu există niciun număr par în listă, funcția returnează string-ul "IMPOSIBIL". | |||
În funcția `main()`, întâi se solicită utilizatorului să introducă `n` și `numere`. Dacă datele de intrare nu sunt valide, se afișează mesajul "Datele nu corespund restricțiilor impuse." În caz contrar, se afișează mesajul "Datele sunt introduse corect.", iar funcția `gaseste_primul_numar_par(numere)` este apelată cu argumentul `numere`. Rezultatul este afișat apoi în consolă. |
Latest revision as of 09:23, 29 April 2023
Sursa: [1]
Cerinţa[edit | edit source]
Se dau n numere naturale. Determinaţi primul număr par dintre cele n numere.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieșire[edit | edit source]
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[edit | edit source]
- 1 ≤ n ≤ 100
cele n numere citite vor avea cel mult 9 cifre
Exemplul 1[edit | edit source]
- Datele de intrare
- N este:
- 5
- Numerele n sunt:
- 7 4 2 5 8
- Datele de ieșire
- Datele sunt introduse corect.
- 4
Rezolvare[edit | edit source]
<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 primește un număr `n` și o listă de `n` numere și verifică dacă datele de intrare sunt valide, adică `n` trebuie să fie între 1 și 100 și fiecare număr din lista `numere` trebuie să aibă cel mult 9 cifre.
Funcția `validate_input(n, numere)` primește doi parametri, `n` și `numere`, și începe prin a verifica dacă `n` se află în intervalul permis, adică între 1 și 100, utilizând expresia booleană `1 <= n <= 100`. Dacă această condiție nu este îndeplinită, funcția returnează `False`, indicând faptul că datele de intrare nu sunt valide.
În caz contrar, pentru fiecare număr din lista `numere`, funcția verifică dacă numărul are cel mult 9 cifre, utilizând expresia booleană `len(nr) > 9`. Dacă un număr depășește această limită, funcția returnează `False`, indicând din nou faptul că datele de intrare nu sunt valide.
În cele din urmă, dacă toate verificările sunt trecute cu succes, funcția returnează `True`, indicând că datele de intrare sunt valide.
Funcția `gaseste_primul_numar_par(numere)` primește lista `numere` și caută primul număr par din listă. Pentru fiecare număr din listă, funcția verifică dacă numărul este par sau nu, utilizând expresia booleană `int(nr) % 2 == 0`. Dacă numărul este par, funcția returnează numărul respectiv. Dacă nu există niciun număr par în listă, funcția returnează string-ul "IMPOSIBIL".
În funcția `main()`, întâi se solicită utilizatorului să introducă `n` și `numere`. Dacă datele de intrare nu sunt valide, se afișează mesajul "Datele nu corespund restricțiilor impuse." În caz contrar, se afișează mesajul "Datele sunt introduse corect.", iar funcția `gaseste_primul_numar_par(numere)` este apelată cu argumentul `numere`. Rezultatul este afișat apoi în consolă.