0889 - Cuvinte Comune
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<syntaxhighlight lang="python">
- 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)
</syntaxhighlight>