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
1566 - Cif Sort
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!
Sursă: [https://www.pbinfo.ro/probleme/1566/cifsort] == Cerinţa == Se da numarul natural '''n'''. Afisati numarul, cu prima cifra inversata cu a 2-a, a 3-a cu a 4-a, etc. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieşire == Dacă datele sunt introduse corect, pe ecran se va afișa '''"Datele sunt introduse corect."''', apoi se va afișa numarul, cu prima cifra inversata cu a 2-a, a 3-a cu a 4-a, etc. În caz contrar, se va afișa pe ecran. '''"Datele nu au fost introduse corect."'''. == Restricții și precizări == * '''10 ⩽ n ⩽ 99.999.999''' * '''n''' are un numar par de cifre. == Exemplu == ; Intrare : 123456 ; Ieșire : Datele au fost introduse corect. : 214365 == Explicație == 1 a fost inversat cu 2, 3 cu 4, iar 5 cu 6. == Rezolvare == <syntaxhighlight lang="python" line> #1566 def verificare(numar): if len(numar) % 2 != 0: return False try: int(numar) return True except ValueError: return False def rezolvare(numar): invers = "" for i in range(0, len(numar), 2): invers += numar[i+1] invers += numar[i] return int(invers) if __name__ == "__main__": numar = int(input("Introduceti un numar cu un numar par de cifre: ")) if verificare(numar): print("Datele sunt introduse corect.") print(rezolvare(numar)) else: print("Datele nu au fost introduse corect.") </syntaxhighlight> == Explicație cod == Funcția '''verificare(numar)''' verifică dacă numărul are un număr par de cifre și dacă toate cifrele sunt cifre întregi. Dacă aceste condiții sunt îndeplinite, funcția returnează '''True''', altfel returnează '''False'''.<br><br>Funcția '''rezolvare(numar)''' primește numărul și creează un șir de caractere în care cifrele inversează poziția. Algoritmul funcției merge prin număr începând cu prima cifră și adăugând în noul șir caracterul de pe poziția impară și apoi caracterul de pe poziția pară, adică inversând poziția acestora. Funcția returnează numărul întors.<br><br>Instrucțiunea '''if __name__ == "__main__":''' citește numărul de la tastatură, verifică dacă datele sunt introduse corect folosind funcția '''verificare(numar)''' și afișează rezultatul apelând funcția '''rezolvare(numar)''' în cazul în care datele sunt corecte sau afișează mesajul '''"Datele au fost introduse corect."''' în caz contrar, se afișează mesajul '''"Datele nu au fost introduse corect"'''.
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