1567 - Sum Prim Doi

From Bitnami MediaWiki
Revision as of 17:59, 21 April 2023 by Petras.du.ioana (talk | contribs) (Am creat de la zero.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se citesc numere naturale până când se introduce numărul 0. Afișați suma obținută prin adunarea numerelor formate din primele două cifre ale numerelor citite.

Date de intrare

Programul citește de la tastatură numere până când se introduce 0.

Date de ieşire

Programul va afișa pe ecran suma numerelor formate din primele 2 cifre ale numerelor citite.

Restricții și precizări

  • Numerele cu mai puțin de 2 cifre nu se iau în considerare.
  • Numerele sunt mai mici decât 100.000.
  • Dacă nu avem numere de cel puțin 2 cifre, atunci se va afișa 0.

Exemplu

Intrare
3455 66 7 8 22 11221 0
Ieșire
Datele introduse sunt valide.
133

Explicație

34 + 66 + 22 + 11 = 133.

Rezolvare

<syntaxhighlight lang="python" line>

def is_valid_number(number):

   """
   Verifică dacă un număr are cel puțin 2 cifre.
   """
   return number >= 10


def get_first_two_digits(number):

   """
   Returnează primele două cifre ale unui număr.
   """
   return int(str(number)[:2])


  1. Inițializăm suma cu 0

suma = 0

  1. Citim numere până când se introduce 0

while True:

   try:
       numar = int(input("Introduceți un număr natural (0 pentru a încheia citirea): "))
   except ValueError:
       print("Introduceți un număr natural valid!")
       continue
   # Verificăm dacă numărul are cel puțin 2 cifre
   if not is_valid_number(numar):
       if numar == 0:
           print("Citire încheiată!")
           break
       else:
           print("Numărul introdus nu are cel puțin 2 cifre. Introduceți alt număr.")
           continue
   # Adunăm primele două cifre ale numărului la suma
   suma += get_first_two_digits(numar)

print("Datele sunt introduse corect.")

  1. Afișăm suma obținută

print(f"Suma numerelor formate din primele două cifre ale numerelor citite este: {suma}")

</syntaxhighlight>