1873 - Cuvinte pare

De la Universitas MediaWiki

Cerinţa

Un text are cel mult 100 de caractere, iar cuvintele sale sunt formate doar din litere mici ale alfabetului englez și sunt separate prin câte un spațiu.

Scrieți un program C/C++ care citește de la tastatură un text de tipul precizat mai sus și îl transformă în memorie prin înlocuirea fiecărui cuvânt format din număr par de litere cu simbolul #.

Programul afișează pe ecran textul obținut sau mesajul nu exista dacă textul citit nu conține astfel de cuvinte.

Date de intrare

Programul citește de la tastatură un text.

Date de ieșire

Programul va afișa textul modificat.

Restricţii şi precizări

  • textul are cel mult 100 de caractere
  • cuvintele sunt formate doar din litere mici ale alfabetului englez

Exemplu 1

Intrare
anii de liceu sunt foarte frumosi
Iesire
Datele de intrare corespund restrictiilor impuse
# # liceu # # frumosi


Exemplu 2

Intrare
ANII DE LICEU SUNT FOARTE FRUMOSI
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

def transforma_text(text):
    # Înlocuiește fiecare cuvânt format din număr par de litere cu simbolul #
    cuvinte = text.split()
    for i in range(len(cuvinte)):
        if len(cuvinte[i]) % 2 == 0:
            cuvinte[i] = '#'
    return ' '.join(cuvinte)


def main():
    text = input().strip()

    # Verifică dacă textul respectă restricțiile
    if len(text) > 100 or not text.islower():
        print("Datele de intrare nu corespund restrictiilor impuse")
        return

    print("Datele de intrare corespund restrictiilor impuse")

    # Transformă textul și afișează rezultatul
    text_transformat = transforma_text(text)
    if '#' in text_transformat:
        print(text_transformat)
    else:
        print("nu exista")


if __name__ == "__main__":
    main()