0088 - Palindrom
Cerința
Un cuvânt este palindrom dacă se citește la fel în ambele direcții. De exemplu, capac este palindrom.
Date de intrare
Fișierul de intrare palindromin.txt conține pe prima linie un număr natural n, iar pe următoarele n linii câte un cuvânt alcătuit din litere mici ale alfabetului englez.
Date de ieșire
Fișierul de ieșire palindromout.txt va conține n linii. Linia i va conține valoarea 1 dacă pe linia i+1 din fișierul de intrare se află un palindrom, și 0 în caz contrar.
Restricții și precizări
- 0 < n < 100
- fiecare cuvânt va conține cel mult 20 de caractere.
Exemplu 1
- palindromin.txt
- 4
- capac
- copil
- aerisirea
- aerare
- palindromout.txt
- Datele introduse corespund restricțiilor impuse.
- 1
- 0
- 1
- 0
Exemplu 2
- palindromin.txt
- 189
- palindromout.txt
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0088 Palindrom
def verificare(nr_cuvinte):
if 0 >= nr_cuvinte >= 100: raise ValueError
def palindrom(nr_cuvinte):
for iterator in range(nr_cuvinte): cuvant = file_in.readline() cuvant = cuvant.strip()
cuvant_invers = cuvant[::-1]
if cuvant == cuvant_invers: file_out.write("1\n") else: file_out.write("0\n")
if __name__ == '__main__':
file_in = open("palindromin.txt") file_out = open("palindromout.txt", "w")
try: numar_cuvinte = int(file_in.readline()) verificare(numar_cuvinte) palindrom(numar_cuvinte) except ValueError: file_out.write("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>