0609 - Dublare Vocale

De la Universitas 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

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()