3664 - Cif Par Cif Imp: Diferență între versiuni
De la Universitas MediaWiki
Fără descriere a modificării |
|||
Linia 8: | Linia 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 == | ||
Linia 62: | Linia 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) | ||
Linia 68: | Linia 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> |
Versiunea de la data 26 martie 2023 21:40
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
#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}")