0889 - Cuvinte Comune

De la Universitas MediaWiki

Cerința

Se dau două propoziții formate din litere mari și mici ale alfabetului englez și spații. Să se afișeze în ordine alfabetică cuvintele care apar în ambele șiruri.

Date de intrare

Programul citește de la tastatură cele două propoziții, separate printr-un caracter newline.

Date de ieșire

Programul va afișa pe ecran cuvintele comune, scrise cu litere mici, fiecare pe o linie, în ordine alfabetică.

Restricții și precizări

  • șirurile date au cel mult 255 de caractere
  • nu se face distincție între literele mari și cele mici
  • dacă un cuvânt comun apare de mai multe ori, se va afișa o singură dată

Exemplu:

Intrare

Ana si Maria au mere si nuci

ana are MERE si Pere si prune

Ieșire

ana

mere

si

Rezolvare

# Citirea celor două propoziții de la tastatură
propozitie1 = input("Introduceti prima propozitie: ").lower()
propozitie2 = input("Introduceti a doua propozitie: ").lower()

# Validare șiruri pentru a avea cel mult 255 de caractere
if len(propozitie1) > 255 or len(propozitie2) > 255:
    print("Eroare: Una sau ambele propozitii au mai mult de 255 de caractere.")
    exit()

# Obținerea listelor de cuvinte pentru fiecare propoziție
cuvinte1 = propozitie1.split()
cuvinte2 = propozitie2.split()

# Obținerea cuvintelor comune și eliminarea duplicatelor
cuvinte_comune = list(set(cuvinte1) & set(cuvinte2))

# Sortarea cuvintelor comune în ordine alfabetică
cuvinte_comune.sort()

# Afișarea cuvintelor comune pe linii separate
for cuvant in cuvinte_comune:
    print(cuvant)