0609 - Dublare Vocale

From Bitnami MediaWiki

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.

Exemplul 1

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


Exemplul 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>