0910 - KPrefix: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 45: | Line 45: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = | n = input() | ||
k = | k = input() | ||
x = 0 | x = 0 | ||
if validare(n, k): | if validare(n, k): | ||
n, k = int(n), int(k) | |||
print("Datele introduse corespund restricțiilor impuse.") | print("Datele introduse corespund restricțiilor impuse.") | ||
prefix(n, k, x) | prefix(n, k, x) | ||
Line 56: | Line 57: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Explicații== | ||
Acesta este un exemplu de implementare în Python a funcției prefix descrisă în cerință. | Acesta este un exemplu de implementare în Python a funcției prefix descrisă în cerință. |
Latest revision as of 13:57, 6 May 2023
Cerință[edit | edit source]
Să se scrie o funcție Python care primește ca parametri două numere n și k și determină numărul format din primele k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.
Date de intrare[edit | edit source]
Se citește un n, un număr natural mai mic decât 2.000.000.000 și k, un număr natural mai mic sau egal cu numărul de cifre al lui n.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa numar_k, un număr natural format din primele k cifre ale lui n. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări[edit | edit source]
- Numele funcției va fi prefix
- Funcția va avea trei parametri: primul parametru reprezintă numărul n;al doilea parametru reprezintă numărul k; iar al treilea va reprezenta valoarea determinată de funcție
- n va fi număr natural mai mic decât 2.000.000.000
- n va avea cel puțin k cifre
Exemplu[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- 27594
- 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 275
Important[edit | edit source]
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, k):
return len(str(n)) >= int(k) and int(n) < 2_000_000_000
def prefix(n, k, rezultat):
numar_prefix = int(str(n)[:k]) rezultat = numar_prefix return rezultat
if __name__ == '__main__':
n = input() k = input() x = 0 if validare(n, k): n, k = int(n), int(k) print("Datele introduse corespund restricțiilor impuse.") prefix(n, k, x) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicații[edit | edit source]
Acesta este un exemplu de implementare în Python a funcției prefix descrisă în cerință.
Funcția validare este definită pentru a verifica dacă datele de intrare (n și k) corespund restricțiilor impuse în cerințe. Aceasta verifică dacă lungimea lui n este mai mare sau egală cu k și dacă n este mai mic decât 2.000.000.000.
Funcția prefix primește numerele n și k și un parametru rezultat prin referință, pentru a putea returna valoarea determinată de funcție prin intermediul acestuia.
În interiorul funcției, se extrage un număr format din primele k cifre ale lui n și se atribuie variabilei numar_prefix. Această valoare este apoi atribuită parametrului rezultat. În cele din urmă, valoarea parametrului rezultat este returnată de funcție.
În codul principal, sunt definite valorile de test pentru n și k, iar apoi se verifică dacă acestea corespund restricțiilor cu ajutorul funcției validare. Dacă datele de intrare sunt valide, se apelează funcția prefix cu valorile de intrare și cu o variabilă goală x ca parametru rezultat. Valoarea returnată de funcția prefix este apoi afișată. Dacă datele de intrare nu sunt valide, se afișează un mesaj corespunzător.