1654 - NrVocRec

From Bitnami MediaWiki
Revision as of 22:13, 21 March 2023 by Catalin Moje (talk | contribs) (Pagină nouă: ==Cerința== Să se scrie o funcţie recursivă care primeşte ca parametru un şir de caractere format din litere mari/mici ale alfabetului englez şi spaţii şi returnează numărul de vocale din şir. ==Date de intrare== Se va introduce de la tastatură ca parametru un şir de caractere format din litere mari/mici ale alfabetului englez şi spaţii ==Date de ieșire== Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." În cazul în care...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Să se scrie o funcţie recursivă care primeşte ca parametru un şir de caractere format din litere mari/mici ale alfabetului englez şi spaţii şi returnează numărul de vocale din şir.

Date de intrare

Se va introduce de la tastatură ca parametru un şir de caractere format din litere mari/mici ale alfabetului englez şi spaţii

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

Numele funcţiei este nr_vocale Funcţia are un singur parametru (şirul format din maxim 10000 caractere).

Exemplu

nr_vocale("Ana are mere") = 6

Rezolvare

def nr_vocale(s):
   vocale = "aeiouAEIOU"
   if len(s) == 0:
       return 0
   if s[0] in vocale:
       return 1 + nr_vocale(s[1:])
   else:
       return nr_vocale(s[1:])
# Test
s = input("Introduceti un sir de caractere:")
if all(c.isalpha() or c.isspace() for c in s):
   print("Datele de intrare corespund restricțiilor impuse.")
   print("Numarul de vocale in sirul", s, "este:", nr_vocale(s))
else:
   print("Datele de intrare nu corespund restricțiilor impuse.")