0905 - DetCifre: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
Se citește de la tastatură un număr '''n''' (numărul natural pentru care se calculează cifrele cerute). | Se citește de la tastatură un număr '''n''' (numărul natural pentru care se calculează cifrele cerute). | ||
==Date de | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afişa pe ecran prima și ultima cifră a numărului '''n''' citit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afişa pe ecran prima și ultima cifră a numărului '''n''' citit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | ||
Line 16: | Line 16: | ||
==Exemplul 1== | ==Exemplul 1== | ||
; | ;Intrare | ||
: | :170 | ||
;Ieșire | ;Ieșire | ||
: | :Datele corespund restricțiilor impuse. | ||
:1 0 | |||
==Important== | ==Important== | ||
Line 36: | Line 37: | ||
def detcifre(n | def detcifre(n): | ||
lista = [] | |||
lista.append(str(n)[0]) | |||
return | lista.append(str(n)[-1]) | ||
return lista | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n | n = input() | ||
if validare(n): | if validare(n): | ||
print("Datele corespund restricțiilor impuse.") | print("Datele corespund restricțiilor impuse.") | ||
detcifre(n, | for i in detcifre(n): | ||
print(i, end=" ") | |||
else: | else: | ||
print("Datele nu corespund restricțiilor impuse.") | print("Datele nu corespund restricțiilor impuse.") | ||
Line 53: | Line 55: | ||
==Explicatii== | ==Explicatii== | ||
Acest cod are două funcții definite și o secțiune de cod care le utilizează într-un mod specific. | |||
Prima funcție, validare(n), primește un număr n ca argument și returnează True dacă numărul este mai mic decât 2_000_000_000 (2 miliarde), altfel returnează False. Această funcție poate fi folosită pentru a verifica dacă un număr introdus de utilizator sau obținut din altă sursă este într-un interval acceptabil. | |||
A doua funcție, detcifre(n), primește tot un număr n ca argument și returnează o listă formată din prima și ultima cifră a acestui număr. Funcția transformă numărul într-un șir de caractere și apoi ia prima și ultima literă din șir. Această funcție poate fi folosită pentru a extrage cifre specifice dintr-un număr. | |||
Secțiunea principală a codului folosește cele două funcții definite mai sus pentru a verifica un număr introdus de utilizator și a afișa prima și ultima cifră ale acelui număr. Mai întâi, se citește un număr de la utilizator folosind funcția input(). Apoi, se verifică dacă numărul introdus este mai mic decât 2 miliarde folosind funcția validare(n). Dacă numărul este valid, se afișează un mesaj care confirmă acest lucru și se afișează apoi prima și ultima cifră ale numărului folosind funcția detcifre(n). În caz contrar, se afișează un mesaj care indică că numărul nu este valid și nicio altă operație nu se efectuează. |
Latest revision as of 13:42, 6 May 2023
Cerință[edit | edit source]
Să se scrie o funcție Python care să determine prima și ultima cifră a unui număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieşire.
Date de intrare[edit | edit source]
Se citește de la tastatură un număr n (numărul natural pentru care se calculează cifrele cerute).
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 pe ecran prima și ultima cifră a numărului n citit. Î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 detcifre
- Funcția va avea trei parametri: primul parametru reprezintă numărul n pentru care se calculează cifrele cerute,al doilea parametru va reprezenta suma cifrelor pare ale lui n, iar al treilea va reprezenta suma cifrelor impare ale lui n
- n va fi număr natural mai mic decât 2.000.000.000
Exemplul 1[edit | edit source]
- Intrare
- 170
- Ieșire
- Datele corespund restricțiilor impuse.
- 1 0
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):
return int(n) < 2_000_000_000
def detcifre(n):
lista = [] lista.append(str(n)[0]) lista.append(str(n)[-1]) return lista
if __name__ == '__main__':
n = input() if validare(n): print("Datele corespund restricțiilor impuse.") for i in detcifre(n): print(i, end=" ") else: print("Datele nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicatii[edit | edit source]
Acest cod are două funcții definite și o secțiune de cod care le utilizează într-un mod specific.
Prima funcție, validare(n), primește un număr n ca argument și returnează True dacă numărul este mai mic decât 2_000_000_000 (2 miliarde), altfel returnează False. Această funcție poate fi folosită pentru a verifica dacă un număr introdus de utilizator sau obținut din altă sursă este într-un interval acceptabil.
A doua funcție, detcifre(n), primește tot un număr n ca argument și returnează o listă formată din prima și ultima cifră a acestui număr. Funcția transformă numărul într-un șir de caractere și apoi ia prima și ultima literă din șir. Această funcție poate fi folosită pentru a extrage cifre specifice dintr-un număr.
Secțiunea principală a codului folosește cele două funcții definite mai sus pentru a verifica un număr introdus de utilizator și a afișa prima și ultima cifră ale acelui număr. Mai întâi, se citește un număr de la utilizator folosind funcția input(). Apoi, se verifică dacă numărul introdus este mai mic decât 2 miliarde folosind funcția validare(n). Dacă numărul este valid, se afișează un mesaj care confirmă acest lucru și se afișează apoi prima și ultima cifră ale numărului folosind funcția detcifre(n). În caz contrar, se afișează un mesaj care indică că numărul nu este valid și nicio altă operație nu se efectuează.