2730 - SC

From Bitnami MediaWiki
Revision as of 20:32, 21 March 2023 by Catalin Moje (talk | contribs) (Pagină nouă: ==Cerința== Scrieți funcția recursivă având următorul antet: int SC(char s[]) Funcția primește ca parametru un șir de caractere și returnează suma tuturor cifrelor care apar în șir. ==Date de intrare== Se va introduce de la tastatură un sir de caractere ==Date de ieșire== Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Scrieți funcția recursivă având următorul antet: int SC(char s[]) Funcția primește ca parametru un șir de caractere și returnează suma tuturor cifrelor care apar în șir.

Date de intrare

Se va introduce de la tastatură un sir de caractere

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.".

Restricții și precizări

1 ≤ lungimea șirului ≤ 200 Dacă șirul nu conține cifre, funcția trebuie să returneze valoarea 0. Se recomandă utilizarea recursivității pentru rezolvarea acestei probleme.

Exemplu

SC("Ana are 15 mere si 185 de pere.") va returna valoarea 20.

Rezolvare

def SC(s):
   if len(s) == 0:
       return 0
   elif s[0].isdigit():
       return int(s[0]) + SC(s[1:])
   else:
       return SC(s[1:])
s = input("Introduceti sirul de caractere: ")
if all(c.isalpha() or c.isspace() for c in s):
   print("Datele de intrare corespund restrictiilor impuse.")
   print("Suma cifrelor din sir este: ", SC(s))
else:
   print("Datele de intrare nu corespund restrictiilor impuse.")