1567 - Sum Prim Doi
sursa: [1]
Cerinţa[edit | edit source]
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[edit | edit source]
Programul citește de la tastatură numere până când se introduce 0.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran suma numerelor formate din primele 2 cifre ale numerelor citite.
Restricții și precizări[edit | edit source]
- 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[edit | edit source]
- Intrare
- 3455 66 7 8 22 11221 0
- Ieșire
- Datele introduse sunt valide.
- 133
Explicație[edit | edit source]
34 + 66 + 22 + 11 = 133.
Rezolvare[edit | edit source]
<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>