0905 - DetCifre: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== 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. ==Restricții de precizări== :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 treile...
 
Line 24: Line 24:
===Rezolvare ver. 1===
===Rezolvare ver. 1===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(n):
    return int(n) < 2_000_000_000


def detcifre(n, p, u):
def detcifre(n, p, u):
     if n >= 2000000000:
     p = str(n)[0]
        print("Numarul trebuie sa fie mai mic decat 2.000.000.000")
     u = str(n)[-1]
        return
    p = n % 10 # prima cifra este restul impartirii lui n la 10
    while n >= 10:
        n //= 10 # eliminam ultima cifra
     u = n # ultima cifra este cifra ramasa
   
     return p, u
     return p, u


def main():
    n = 170
    p, u = None, None
    detcifre(n, p, u)
    print(f"Prima cifra a lui {n} este {p}")
    print(f"Ultima cifra a lui {n} este {u}")


if __name__ == '__main__':
if __name__ == '__main__':
     main()
     n, p, u = 178, 0, 0
 
    if validare(n):
        print("Datele corespund restricțiilor impuse.")
        detcifre(n, p, u)
    else:
        print("Datele corespund restricțiilor impuse.")
</syntaxhighlight>
</syntaxhighlight>

Revision as of 19:05, 19 March 2023

Cerință

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.

Restricții de precizări

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

Dupa apelul
detcifre(170 , p ,u);
Ieșire
p va avea valoarea 1, iar u va avea valoarea 0.

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 int(n) < 2_000_000_000


def detcifre(n, p, u):

   p = str(n)[0]
   u = str(n)[-1]
   return p, u


if __name__ == '__main__':

   n, p, u = 178, 0, 0
   if validare(n):
       print("Datele corespund restricțiilor impuse.")
       detcifre(n, p, u)
   else:
       print("Datele corespund restricțiilor impuse.")

</syntaxhighlight>