4318 - Cifre 20

From Bitnami MediaWiki

Cerinţa

Se dă un șir cu un numar dat de elemente, numere naturale. Să se determine câte elemente ale șirului au număr impar de cifre.

Date de intrare

Programul va citi de la tastatură numărul, apoi elementele șirului.

Date de ieşire

Programul va afişa pe ecran valoarea cerută.

Restricții și precizări

  • numar ≤ 100
  • elementele șirului sunt mai mici decât 10^9

Exemplu

Intrare
5
 18 215 147 1256 7
Ieșire
3


Explicatie

Elementele șirului cu număr impar de cifre sunt: 215 147 7.

Rezolvare

<syntaxhighlight lang="python" line>

  1. Citim numărul de elemente din șir și validăm inputul

while True:

   try:
       numar = int(input("Introduceti numarul de elemente din sir: "))
       if numar <= 0:
           print("Numarul de elemente trebuie sa fie un numar pozitiv!")
           continue
       break
   except ValueError:
       print("Numarul de elemente trebuie sa fie un numar intreg pozitiv!")
  1. Inițializăm un contor pentru numărul de elemente cu număr impar de cifre

contor = 0

  1. Citim fiecare element din șir și verificăm dacă are număr impar de cifre

for i in range(numar):

   # Citim elementul și validăm inputul
   while True:
       try:
           element = int(input(f"Introduceti elementul {i+1}: "))
           if element <= 0:
               print("Elementul trebuie sa fie un numar natural pozitiv!")
               continue
           break
       except ValueError:
           print("Elementul trebuie sa fie un numar natural pozitiv!")
   # Numărăm cifrele elementului și verificăm dacă este impar
   numar_cifre = len(str(element))
   if numar_cifre % 2 == 1:
       contor += 1
  1. Afișăm validarea inputului și numărul de elemente cu număr impar de cifre

print("Datele introduse corespund resctrictiilor impuse.") print(f"Numarul de elemente cu numar impar de cifre este: {contor}")

</syntaxhighlight>