1567 - Sum Prim Doi
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])
- Inițializăm suma cu 0
suma = 0
- 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.")
- Afișăm suma obținută
print(f"Suma numerelor formate din primele două cifre ale numerelor citite este: {suma}")
</syntaxhighlight>