0088 - Palindrom: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == 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 palindrom.in 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 palindrom.out va conține n linii. Linia i va conține valoarea 1 dacă pe linia i+1 din fișierul de intrare se află...
 
No edit summary
Line 2: Line 2:
Un cuvânt este palindrom dacă se citește la fel în ambele direcții. De exemplu, capac este palindrom.
Un cuvânt este palindrom dacă se citește la fel în ambele direcții. De exemplu, capac este palindrom.
== Date de intrare ==
== Date de intrare ==
Fișierul de intrare palindrom.in 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.
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 ==
== Date de ieșire ==
Fișierul de ieșire palindrom.out 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.
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 ==
== Restricții și precizări ==
: 0 < n < 100
: 0 < n < 100
: fiecare cuvânt va conține cel mult 20 de caractere.
: fiecare cuvânt va conține cel mult 20 de caractere.
== Exemplu 1 ==
== Exemplu 1 ==
; palindrom.in
; palindromin.txt
: 4
: 4
: capac
: capac
Line 15: Line 15:
: aerisirea
: aerisirea
: aerare
: aerare
; palindrom.out
; palindromout.txt
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
: 1
: 1
Line 23: Line 23:
<br>
<br>
== Exemplu 2 ==
== Exemplu 2 ==
; palindrom.in
; palindromin.txt
: 189
: 189
; palindrom.out
; palindromout.txt
: Datele de intrare nu corespund restricțiilor impuse.
: Datele de intrare nu corespund restricțiilor impuse.
<br>
<br>
== 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>

Revision as of 16:42, 22 March 2023

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>

  1. 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>