0188 - Inlocuire Cuvant: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: Se dau două cuvinte '''a''' şi '''b''' şi o propoziţie '''s''' formată numai din litere mici ale alfabetului englez şi spaţii. == Cerinţa == Să se modifice '''s''', înlocuind fiecare apariţie a cuvântului '''a''' cu cuvântul '''b'''. == Date de intrare == Fişierul de intrare '''inlocuirecuvantin.txt''' conţine pe prima linie cuvintele '''a''' şi '''b''', separate printr-un spaţiu, iar pe a doua linie propoziţia '''s'''. == Date de ieșire == Fişierul de ie...
 
 
(One intermediate revision by the same user not shown)
Line 11: Line 11:
* cuvintele '''a''' şi '''b''' vor avea cel mult '''10''' caractere
* cuvintele '''a''' şi '''b''' vor avea cel mult '''10''' caractere
* cuvintele sunt formate numai din litere mici ale alfabetului englez
* cuvintele sunt formate numai din litere mici ale alfabetului englez
== Exemplu 1 ==
== Exemplul 1 ==
; inlocuirecuvantin.txt
; inlocuirecuvantin.txt
  dar insa
  dar insa
Line 19: Line 19:
  insa nu trebuie insa e mai bine astfel
  insa nu trebuie insa e mai bine astfel
<br>
<br>
== Exemplu 2 ==
 
== Exemplul 2 ==
; inlocuirecuvantin.txt
; inlocuirecuvantin.txt
  dar neînsemnând
  dar neînsemnând
Line 26: Line 27:
  Datele de intrare nu corespund restrictiilor impuse
  Datele de intrare nu corespund restrictiilor impuse
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>

Latest revision as of 17:49, 25 December 2023

Se dau două cuvinte a şi b şi o propoziţie s formată numai din litere mici ale alfabetului englez şi spaţii.

Cerinţa[edit | edit source]

Să se modifice s, înlocuind fiecare apariţie a cuvântului a cu cuvântul b.

Date de intrare[edit | edit source]

Fişierul de intrare inlocuirecuvantin.txt conţine pe prima linie cuvintele a şi b, separate printr-un spaţiu, iar pe a doua linie propoziţia s.

Date de ieșire[edit | edit source]

Fişierul de ieşire inlocuirecuvantout.txt va conţine pe prima linie propoziţia s, modificată în conformitate cu cerinţa.

Restricţii şi precizări[edit | edit source]

  • propoziţia s va avea cel mult 100 caractere
  • cuvintele a şi b vor avea cel mult 10 caractere
  • cuvintele sunt formate numai din litere mici ale alfabetului englez

Exemplul 1[edit | edit source]

inlocuirecuvantin.txt
dar insa
dar nu trebuie dar e mai bine astfel
inlocuirecuvantout.txt
Datele de intrare corespund restrictiilor impuse
insa nu trebuie insa e mai bine astfel


Exemplul 2[edit | edit source]

inlocuirecuvantin.txt
dar neînsemnând
dar nu trebuie dar e mai bine astfel
inlocuirecuvantout.txt
Datele de intrare nu corespund restrictiilor impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def main():

   # Citirea cuvintelor și a propoziției din fișierul 'inlocuirecuvant.in'
   with open('inlocuirecuvantin.txt', 'r') as f:
       a, b = f.readline().strip().split()
       s = f.readline().strip()
   # Verifică dacă cuvintele și propoziția respectă restricțiile
   if len(a) > 10 or len(b) > 10 or len(s) > 100 or not (a.isalpha()
   and b.isalpha() and all(c.isalpha() or c.isspace() for c in s)):
       result = "Datele de intrare nu corespund restrictiilor impuse"
   else:
       result = "Datele de intrare corespund restrictiilor impuse"
       # Înlocuirea fiecărei apariții a cuvântului a cu cuvântul b în propoziție
       s_noua = s.replace(a, b)
       result += "\n" + s_noua
   # Scrierea rezultatului în fișierul 'inlocuirecuvant.out'
   with open('inlocuirecuvantout.txt', 'w') as f:
       f.write(result)


if __name__ == "__main__":

   main()

</syntaxhighlight>