1567 - Sum Prim Doi
sursa: [1]
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 este_numar_valid(numar):
""" Verifică dacă un număr are cel puțin 2 cifre. """ return numar >= 10
def obtine_primele_doua_cifre(numar):
""" Returnează primele două cifre ale unui număr. """ return int(str(numar)[:2])
if __name__ == "__main__":
# 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 este_numar_valid(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 += obtine_primele_doua_cifre(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>