Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
1633 - Dublare1
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Cerință== Să se scrie o funcție Python care se dublează prima cifră a unui număr natural '''n''' transmis ca parametru. Funcția întoarce rezultatul prin intermediul aceluiași parametru n. ==Date de intrare== Un număr natural '''n''', unde '''1 ≤ n ≤ 10.000.000'''. ==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 noul număr obținut prin dublarea primei cifre a lui '''n'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." ==Restricții de precizări== * '''1''' ≤ n ≤ '''10.000.000''' * funcția va avea un singur parametru '''n''' * numele funcției va fi '''dublare1''' ==Exemplu== ===Exemplul 1=== ; Intrare : 85412 ;Ieșire :Datele introduse corespund restricțiilor impuse. :Numarul dupa dublare: 885412 ==Explicatie== Prima cifră '''8''' se scrie de două ori. ==Important== 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== ===Rezolvare ver. 1=== <syntaxhighlight lang="python" line="1" start="1"> def validare(n): return 1 <= int(n) <= 10_000_000 def dublare1(n): if n < 10: # numarul are o singura cifra n *= 2 else: cifra = str(n)[0] # convertim numarul la sir de caractere si preluam prima cifra n = int(cifra * 2 + str(n)[1:]) # concatenam de doua ori cifra cu restul numarului si il convertim la int return n if __name__ == '__main__': n = input("Introduceti un numar intreg: ") print("Numarul inainte de dublare: ", n) if validare(n): n = int(n) n = dublare1(n) print("Datele introduse corespund restricțiilor impuse.") print("Numarul dupa dublare: ", n) else: print("Datele introduse nu corespund restricțiilor impuse.") </syntaxhighlight> ==Explicatii== Acesta este un cod Python care primește un număr întreg de la utilizator și îl dublează pe prima cifră, folosind o funcție numită dublare1. Înainte de a apela această funcție, programul verifică dacă numărul introdus de utilizator este valid, adică dacă se încadrează în intervalul [1, 10.000.000]. Funcția validare primește un parametru n și returnează True dacă n este un număr întreg valid și False în caz contrar. Funcția dublare1 primește un parametru n și returnează noul număr obținut prin dublarea primei cifre a lui n. În cazul în care n are o singură cifră, aceasta este dublată simplu prin înmulțire cu 2. În caz contrar, se obține prima cifră a lui n folosind str(n)[0] și se concatenează această cifră de două ori cu restul numărului, folosind int(cifra * 2 + str(n)[1:]). Rezultatul final este returnat sub formă de număr întreg.
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width