0975 - Cuvinte 2
Cerinţa[edit | edit source]
Se dă o propoziție formată din litere mici ale alfabetului englez, spații și semnele de punctuație ,.. Determinați un cuvânt palindrom din propoziție, primul în ordine alfabetică.
Date de intrare[edit | edit source]
Programul citește de la tastatură propoziția dată.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran cuvântul determinat, sau mesajul IMPOSIBIL, dacă în șir nu există niciun cuvânt palindrom.
Restricţii şi precizări[edit | edit source]
- propoziția citită va conține cel mult 255 de caractere
- cuvintele din propoziție vor avea maximum 10 litere
Exemplu 1[edit | edit source]
- Intrare
ele deschid un capac, aerisirea este ok
- Iesire
Datele de intrare corespund restrictiilor impuse aerisirea
Exemplu 2[edit | edit source]
- Intrare
acel produs este nemultumitor
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> import string
def este_palindrom(cuvant):
return cuvant == cuvant[::-1]
def main():
# Citirea propoziției de la tastatură propozitie = input().strip()
# Verifică dacă propoziția respectă restricțiile if len(propozitie) > 255 or any(len(cuvant) > 10 for cuvant in propozitie.split()): print("Datele de intrare nu corespund restrictiilor impuse") return
print("Datele de intrare corespund restrictiilor impuse")
# Înlăturarea semnelor de punctuație propozitie = propozitie.translate(str.maketrans(, , string.punctuation))
# Obținerea listei de cuvinte cuvinte = propozitie.split()
# Filtrarea cuvintelor palindrom și sortarea lor în ordine alfabetică cuvinte_palindrom = sorted(cuvant for cuvant in cuvinte if este_palindrom(cuvant))
# Afișarea rezultatului if cuvinte_palindrom: print(cuvinte_palindrom[0]) else: print("IMPOSIBIL")
if __name__ == "__main__":
main()
</syntaxhighlight>