0023 - Oglindit: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerinţa== Să se scrie o funcție Python care să determine oglinditul unui număr natural transmis ca parametru. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire. ==Restricţii şi precizări== :Numele funcției va fi '''oglindit''' :Funcția va avea doi parametri: primul parametru reprezintă numărul pentru care se calculează oglinditul, iar la doilea parametru reprezintă valoarea calculată :Numărul pentru care se calculează oglinditul...
 
No edit summary
Line 4: Line 4:
==Restricţii şi precizări==
==Restricţii şi precizări==


:Numele funcției va fi '''oglindit'''
*Numele funcției va fi '''oglindit'''
:Funcția va avea doi parametri: primul parametru reprezintă numărul pentru care se calculează oglinditul, iar la doilea parametru reprezintă valoarea calculată
*Funcția va avea doi parametri: primul parametru reprezintă numărul pentru care se calculează oglinditul, iar la doilea parametru reprezintă valoarea calculată
:Numărul pentru care se calculează oglinditul va fi mai mic decât '''1.000.000.000'''
*Numărul pentru care se calculează oglinditul va fi mai mic decât '''1.000.000.000'''
 


==Important==
==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.
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==
===Rezolvare ver. 1===
===Rezolvare ver. 1===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(n):
    return n < 1_000_000_000


def oglindit(nr, oglindit_nr):
def oglindit(nr, oglindit_nr):
    """Calculează oglinditul unui număr natural transmis ca parametru."""
    if nr >= 1000000000:
        raise ValueError("Numărul trebuie să fie mai mic decât 1.000.000.000")
     oglindit_nr = 0  # inițializăm oglinditul cu valoarea 0
     oglindit_nr = 0  # inițializăm oglinditul cu valoarea 0
     while nr > 0:
     while nr > 0:
Line 26: Line 24:
         nr = nr // 10
         nr = nr // 10
     return oglindit_nr
     return oglindit_nr


if __name__ == '__main__':
if __name__ == '__main__':
     nr = 12345
     nr = 12345
     oglindit_nr = 0
     oglindit_nr = 0
     print(f"Oglinditul lui {nr} este {oglindit(nr, oglindit_nr)}")
     if validare(nr):
 
        n = int(nr)
 
        print("Datele introduse corespund restricțiilor impuse")
 
        print(f"Oglinditul lui {nr} este {oglindit(nr, oglindit_nr)}")
    else:
        print("Datele introduse nu corespund restricțiilor impuse")
</syntaxhighlight>
</syntaxhighlight>

Revision as of 20:44, 19 March 2023

Cerinţa

Să se scrie o funcție Python care să determine oglinditul unui număr natural transmis ca parametru. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

Restricţii şi precizări

  • Numele funcției va fi oglindit
  • Funcția va avea doi parametri: primul parametru reprezintă numărul pentru care se calculează oglinditul, iar la doilea parametru reprezintă valoarea calculată
  • Numărul pentru care se calculează oglinditul va fi mai mic decât 1.000.000.000

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 n < 1_000_000_000


def oglindit(nr, oglindit_nr):

   oglindit_nr = 0  # inițializăm oglinditul cu valoarea 0
   while nr > 0:
       oglindit_nr = oglindit_nr * 10 + nr % 10
       nr = nr // 10
   return oglindit_nr


if __name__ == '__main__':

   nr = 12345
   oglindit_nr = 0
   if validare(nr):
       n = int(nr)
       print("Datele introduse corespund restricțiilor impuse")
       print(f"Oglinditul lui {nr} este {oglindit(nr, oglindit_nr)}")
   else:
       print("Datele introduse nu corespund restricțiilor impuse")

</syntaxhighlight>