2640 - Extrage Cuvant: Difference between revisions
Pagină nouă: == Cerință == Să se scrie o funcţie denumită extrageCuvant care să primească ca parametri trei şiruri de ca-ractere în această ordine: destinatie, sursa, separatori şi un număr întreg prin intermediul căruia se va specifica numărul cuvântului ce se doreşte a fi preluat din şirul de caractere sursă şi pus în şirul destinaţie. În şirul separatori se vor găsi o serie de simboluri ce sunt utilizate pentru a despărţi cuvintele (de exemplu virgulă sau s... |
No edit summary |
||
Line 1: | Line 1: | ||
== Cerință == | == Cerință == | ||
Să se scrie o funcţie denumită extrageCuvant care să primească ca parametri trei şiruri de ca-ractere în această ordine: destinatie, sursa, separatori şi un număr întreg prin intermediul căruia se va specifica numărul cuvântului ce se doreşte a fi preluat din şirul de caractere sursă şi pus în şirul destinaţie. | Să se scrie o funcţie denumită extrageCuvant care să primească ca parametri trei şiruri de ca-ractere în această ordine: '''destinatie, sursa, separatori şi un număr întreg''' prin intermediul căruia se va specifica numărul cuvântului ce se doreşte a fi preluat din şirul de caractere sursă şi pus în şirul destinaţie.În şirul separatori se vor găsi o serie de simboluri ce sunt utilizate pentru a despărţi cuvintele (de exemplu virgulă sau spaţiu, etc.).Dacă funcţia a copiat cu succes cuvântul căutat în şirul destinaţie, va returna valoarea '''1'''. Altfel va returna valoarea '''0''' (de exemplu dacă textul conţine doar trei cuvinte şi se doreşte găsirea cu-vântului al patrulea) | ||
În şirul separatori se vor găsi o serie de simboluri ce sunt utilizate pentru a despărţi cuvintele (de exemplu virgulă sau spaţiu, etc.). | |||
Dacă funcţia a copiat cu succes cuvântul căutat în şirul destinaţie, va returna valoarea 1. Altfel va returna valoarea 0 (de exemplu dacă textul conţine doar trei cuvinte şi se doreşte găsirea cu-vântului al patrulea) | |||
== Date de intrare == | == Date de intrare == | ||
Funcţia va primi patru parametri în următoarea ordine: şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0). | Funcţia va primi patru parametri în următoarea ordine: '''şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor''' considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0). | ||
== Date de ieșire == | == Date de ieșire == | ||
Funcţia va returna 1 dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau 0 în caz contrar. | Funcţia va returna '''1''' dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau '''0''' în caz contrar. | ||
== Restricții de precizări == | == Restricții de precizări == | ||
Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring). | Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring). | ||
Line 15: | Line 13: | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: va returna valoarea 1 şi va copia şirul Un în dest. | : va returna valoarea 1 şi va copia şirul Un în dest. | ||
== Rezolvare ver. 1 == | |||
<syntaxhighlight lang="python" line="1" start="1"> | |||
def validare(destinatie, sursa, separatori, pozitie): | |||
return 0 < int(destinatie, sursa, separatori, pozitie) | |||
def extrageCuvant(destinatie, sursa, separatori, pozitie): | |||
cuvinte = sursa.split(separatori) | |||
if pozitie >= len(cuvinte): | |||
return 0 | |||
else: | |||
destinatie = cuvinte[pozitie] | |||
return 1 | |||
if __name__ == "__main__": | |||
destinatie = input() | |||
sursa = input() | |||
separatori = input() | |||
pozitie = input() | |||
if validare(destinatie, sursa, separatori, pozitie): | |||
destinatie, sursa, separatori, pozitie = int( | |||
destinatie), int(sursa), int(separatori), int(pozitie) | |||
extrageCuvant = (destinatie, sursa, separatori, pozitie) | |||
print("Cuvântul a fost găsit: ", destinatie) | |||
print("Poziția indicată nu există în șirul sursă.") | |||
print(”Datele introduse corespund restrictiilor impuse”) | |||
else: | |||
print(”Datele introduse nu corespund restrictiilor impuse”) | |||
</syntaxhighlight> |
Revision as of 17:51, 21 March 2023
Cerință
Să se scrie o funcţie denumită extrageCuvant care să primească ca parametri trei şiruri de ca-ractere în această ordine: destinatie, sursa, separatori şi un număr întreg prin intermediul căruia se va specifica numărul cuvântului ce se doreşte a fi preluat din şirul de caractere sursă şi pus în şirul destinaţie.În şirul separatori se vor găsi o serie de simboluri ce sunt utilizate pentru a despărţi cuvintele (de exemplu virgulă sau spaţiu, etc.).Dacă funcţia a copiat cu succes cuvântul căutat în şirul destinaţie, va returna valoarea 1. Altfel va returna valoarea 0 (de exemplu dacă textul conţine doar trei cuvinte şi se doreşte găsirea cu-vântului al patrulea)
Date de intrare
Funcţia va primi patru parametri în următoarea ordine: şirul destinaţie, şirul sursă, şirul conţinând lista simbolurilor considerate separatori de cunvinte şi poziţia cuvântului dorit, poziţie indexată de la 0 (primul cuvânt este cel de pe poziţia 0).
Date de ieșire
Funcţia va returna 1 dacă a reuşit să găsească un cuvânt pe poziţia căutată şi în şirul destinaţie va fi copiat acest cuvânt sau 0 în caz contrar.
Restricții de precizări
Nu se va folosi nici o funcţie de prelucrare a şirurilor de caractere (nu se va include cstring).
Exemplul 1
- Intrare
- extrageCuvant(dest, "Un mar, doua mere, trei mere, toata livada !", ", !", 0);
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- va returna valoarea 1 şi va copia şirul Un în dest.
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(destinatie, sursa, separatori, pozitie):
return 0 < int(destinatie, sursa, separatori, pozitie)
def extrageCuvant(destinatie, sursa, separatori, pozitie):
cuvinte = sursa.split(separatori)
if pozitie >= len(cuvinte): return 0 else: destinatie = cuvinte[pozitie] return 1
if __name__ == "__main__":
destinatie = input() sursa = input() separatori = input() pozitie = input() if validare(destinatie, sursa, separatori, pozitie): destinatie, sursa, separatori, pozitie = int( destinatie), int(sursa), int(separatori), int(pozitie) extrageCuvant = (destinatie, sursa, separatori, pozitie)
print("Cuvântul a fost găsit: ", destinatie) print("Poziția indicată nu există în șirul sursă.")
print(”Datele introduse corespund restrictiilor impuse”) else: print(”Datele introduse nu corespund restrictiilor impuse”)
</syntaxhighlight>