1565 - N Zero: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Sinn Erich (talk | contribs)
Line 32: Line 32:
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
#1565
#1565
def get_input():
def validate_input(n, a):
    n = int(input("Introduceti n: "))
    a = int(input("Introduceti a: "))
    return n, a
 
 
def calculate_p(n, a):
     if 1 <= n <= 1000 and 0 <= a <= 5:
     if 1 <= n <= 1000 and 0 <= a <= 5:
        p = n * (10 ** a)
         return True
         return p
     else:
     else:
         return None
         return False


def calculate_p(n, a):
    return n * (10 ** a)


def display_result(p):
def display_result(p):
     if p:
     if p is not None:
         print("Datele sunt introduse corect.")
         print("Datele sunt introduse corect.")
         print(p)
         print(p)
Line 53: Line 48:
         print("Datele nu corespund restricțiilor impuse.")
         print("Datele nu corespund restricțiilor impuse.")


if __name__ == '__main__':
    n = int(input("Introduceti n: "))
    a = int(input("Introduceti a: "))
    if validate_input(n, a):
        p = calculate_p(n, a)
        display_result(p)
    else:
        print("Datele nu corespund restricțiilor impuse.")


if __name__ == '__main__':
    n, a = get_input()
    p = calculate_p(n, a)
    display_result(p)
</syntaxhighlight>
</syntaxhighlight>



Revision as of 23:35, 27 April 2023

Sursa: [1]

Cerinţa

Se dă un număr n. Afișați numărul n * 10a.

Date de intrare

Programul citește de la tastatură numărul n, apoi numărul a.

Date de ieșire

Programul va afișa pe ecran numărul p, acesta fiind n * 10a.

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou afișează numărul n * 10a.

În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse."

Restricţii şi precizări

1 ≤ n ≤ 1000

0 ≤ a ≤ 5

Exemplul 1

Datele de intrare
Introduceti n:
5
Introduceti a:
4
Datele de ieșire
Datele sunt introduse corect.
50000


Rezolvare

<syntaxhighlight lang="python" line>

  1. 1565

def validate_input(n, a):

   if 1 <= n <= 1000 and 0 <= a <= 5:
       return True
   else:
       return False

def calculate_p(n, a):

   return n * (10 ** a)

def display_result(p):

   if p is not None:
       print("Datele sunt introduse corect.")
       print(p)
   else:
       print("Datele nu corespund restricțiilor impuse.")

if __name__ == '__main__':

   n = int(input("Introduceti n: "))
   a = int(input("Introduceti a: "))
   if validate_input(n, a):
       p = calculate_p(n, a)
       display_result(p)
   else:
       print("Datele nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicatie cod:

Codul de mai sus definește trei funcții și o secțiune de cod care le utilizează.

Funcția get_input() cere utilizatorului să introducă două numere, n și a, și le întoarce sub forma unei perechi (n, a).

Funcția calculate_p(n, a) calculează valoarea lui p, care este produsul dintre n și 10 la puterea lui a. Această funcție verifică dacă n se află între 1 și 1000 și dacă a se află între 0 și 5. Dacă aceste condiții sunt îndeplinite, funcția calculează și returnează valoarea lui p. În caz contrar, funcția returnează None.

Funcția display_result(p) afișează valoarea lui p dacă acesta nu este None, altfel afișează un mesaj de eroare.

În secțiunea if __name__ == '__main__': se apelează funcțiile get_input(), calculate_p(n, a) și display_result(p) pentru a obține datele de intrare de la utilizator, a calcula valoarea lui p și a afișa rezultatul. Această secțiune de cod este executată numai dacă acest script este rulat direct, și nu este importat ca modul în altă parte a codului.