3664 - Cif Par Cif Imp: Difference between revisions
Dragos1234 (talk | contribs) |
Nagy Lenard (talk | contribs) No edit summary |
||
Line 8: | Line 8: | ||
== Date de ieşire == | == Date de ieşire == | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un | Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restrictiilor impuse", apoi pe un rând nou va afișa numărul de cifre pare și impare separate printr-n spațiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse. | ||
== Restricții și precizări == | == Restricții și precizări == | ||
Line 62: | Line 62: | ||
n = int(input(f"Introduceți numărul {i + 1}: ")) | n = int(input(f"Introduceți numărul {i + 1}: ")) | ||
if n >= 1000000000: | if n >= 1000000000: | ||
print(" | print("Datele de intrare nu corespund restrictiilor impuse") | ||
continue | continue | ||
pare, impare = count_parity_digits(n) | pare, impare = count_parity_digits(n) | ||
Line 68: | Line 68: | ||
impare_total += impare | impare_total += impare | ||
print(f"{pare_total} {impare_total}") | print(f"Datele de intrare corespund restrictiilor impuse\n{pare_total} {impare_total}") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 21:40, 26 March 2023
Sursă: [1]
Cerinţa
Se dau n numere naturale. Determinaţi câte cifre pare şi câte cifre impare se află în total în 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
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restrictiilor impuse", apoi pe un rând nou va afișa numărul de cifre pare și impare separate printr-n spațiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse.
Restricții și precizări
- 1 ⩽ n ⩽ 10
- cele n numere citite vor fi mai mici decât 1.000.000.000.
Exemplul 1
- Intrare
- Introduceți numărul de numere: 3
- Introduceți numărul 1: 11
- Introduceți numărul 2: 30
- Introduceți numărul 3: 3
- Ieșire
- 1 4
Exemplul 2
- Intrare
- Introduceți numărul de numere: 0
- Iesire
- Numărul de numere trebuie să fie între 1 și 10.
Rezolvare
<syntaxhighlight lang="python" line>
- 3664
def validate_input(n):
if not 1 <= n <= 10: print("Numărul de numere trebuie să fie între 1 și 10.") return False return True
def count_parity_digits(n):
pare = 0 impare = 0 while n > 0: cifra = n % 10 if cifra % 2 == 0: pare += 1 else: impare += 1 n //= 10 return pare, impare
if __name__ == '__main__':
numere = int(input("Introduceți numărul de numere: ")) if not validate_input(numere): exit() pare_total = 0 impare_total = 0 for i in range(numere): n = int(input(f"Introduceți numărul {i + 1}: ")) if n >= 1000000000: print("Datele de intrare nu corespund restrictiilor impuse") continue pare, impare = count_parity_digits(n) pare_total += pare impare_total += impare
print(f"Datele de intrare corespund restrictiilor impuse\n{pare_total} {impare_total}")
</syntaxhighlight>