0188 - Inlocuire Cuvant: Difference between revisions
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... |
|||
| 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 | ||
== | == 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 == | == Exemplu 2 == | ||
; inlocuirecuvantin.txt | ; inlocuirecuvantin.txt | ||
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
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şire inlocuirecuvantout.txt va conţine pe prima linie propoziţia s, modificată în conformitate cu cerinţa.
Restricţii şi precizări
- 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
- 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
Exemplu 2
- inlocuirecuvantin.txt
dar neînsemnând dar nu trebuie dar e mai bine astfel
- inlocuirecuvantout.txt
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
<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>