0609 - Dublare Vocale

From Bitnami MediaWiki
Revision as of 19:43, 12 December 2023 by Ghisa Catalin (talk | contribs) (Pagină nouă: == Cerinţa == Se dă un şir format din cel mult '''100''' de caractere – litere mici ale alfabetului englez şi spaţii. Să se modifice acest şir prin dublarea fiecărei vocale. == Date de intrare == Programul citește de la tastatură şirul dat. == Date de ieșire == Programul va afișa pe ecran şirul obţinut în urma efectuării operaţiilor cerute. == Exemplu 1 == ; Intrare problema aceea frumoasa ; Iesire Datele de intrare corespund restrictiilor impuse proobl...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dă un şir format din cel mult 100 de caractere – litere mici ale alfabetului englez şi spaţii. Să se modifice acest şir prin dublarea fiecărei vocale.

Date de intrare

Programul citește de la tastatură şirul dat.

Date de ieșire

Programul va afișa pe ecran şirul obţinut în urma efectuării operaţiilor cerute.

Exemplu 1

Intrare
problema aceea frumoasa
Iesire
Datele de intrare corespund restrictiilor impuse
proobleemaa aaceeeeaa fruumooaasaa


Exemplu 2

Intrare
catalin12345
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

<syntaxhighlight lang="python" line> def main():

   # Citirea șirului de caractere de la tastatură
   sir = input().strip()
   # Verifică dacă șirul respectă restricțiile
   if len(sir) > 100:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not caracter.islower() and not caracter.isspace() for caracter in sir):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Dublarea fiecărei vocale din șir
   vocale = 'aeiou'
   sir_dublat = .join([caracter*2 if caracter in vocale else caracter for caracter in sir])
   # Afișarea șirului obținut
   print(sir_dublat)

if __name__ == "__main__":

   main()

</syntaxhighlight>