1565 - N Zero: Diferență între versiuni

De la Universitas MediaWiki
 
(Nu s-a afișat o versiune intermediară efectuată de același utilizator)
Linia 32: Linia 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)
Linia 53: Linia 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>


'''Explicatie cod:'''
'''Explicatie cod:'''


Codul de mai sus definește trei funcții și o secțiune de cod care le utilizează.
Acest cod implementează o funcție care primește un număr întreg `n` și un număr întreg `a` și calculează și afișează un număr întreg `p` dat de produsul dintre `n` și 10 ridicat la puterea `a`.
 
Funcția `validate_input(n, a)` verifică dacă `n` este între 1 și 1000 și dacă `a` este între 0 și 5 și returnează `True` dacă aceste condiții sunt îndeplinite, în caz contrar, returnează `False`.


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)` primește două argumente `n` și `a` și returnează produsul dintre `n` și 10 ridicat la puterea `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ă mesajul "Datele sunt introduse corect." urmat de valoarea `p` dacă `p` este diferit de `None`. Dacă `p` este `None`, funcția afișează mesajul "Datele nu corespund restricțiilor impuse.".


Funcția display_result(p) afișează valoarea lui p dacă acesta nu este None, altfel afișează un mesaj de eroare.
În funcția principală (`main`), se citesc valorile `n` și `a` de la utilizator, se validează aceste date folosind funcția `validate_input` și, dacă datele sunt corecte, se calculează `p` folosind funcția `calculate_p` și se afișează rezultatul utilizând funcția `display_result`. Dacă datele nu sunt corecte, se afișează mesajul "Datele nu corespund restricțiilor impuse.".


Î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.
Acest cod pare să fie simplu și nu implică nicio logică complexă sau operații costisitoare.

Versiunea curentă din 29 aprilie 2023 09:25

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

#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.")

Explicatie cod:

Acest cod implementează o funcție care primește un număr întreg `n` și un număr întreg `a` și calculează și afișează un număr întreg `p` dat de produsul dintre `n` și 10 ridicat la puterea `a`.

Funcția `validate_input(n, a)` verifică dacă `n` este între 1 și 1000 și dacă `a` este între 0 și 5 și returnează `True` dacă aceste condiții sunt îndeplinite, în caz contrar, returnează `False`.

Funcția `calculate_p(n, a)` primește două argumente `n` și `a` și returnează produsul dintre `n` și 10 ridicat la puterea `a`.

Funcția `display_result(p)` afișează mesajul "Datele sunt introduse corect." urmat de valoarea `p` dacă `p` este diferit de `None`. Dacă `p` este `None`, funcția afișează mesajul "Datele nu corespund restricțiilor impuse.".

În funcția principală (`main`), se citesc valorile `n` și `a` de la utilizator, se validează aceste date folosind funcția `validate_input` și, dacă datele sunt corecte, se calculează `p` folosind funcția `calculate_p` și se afișează rezultatul utilizând funcția `display_result`. Dacă datele nu sunt corecte, se afișează mesajul "Datele nu corespund restricțiilor impuse.".

Acest cod pare să fie simplu și nu implică nicio logică complexă sau operații costisitoare.