0168 - Semn1

From Bitnami MediaWiki

Cerință

Să se scrie un program care citeşte de la tastatură două numere întregi a şi b şi verifică dacă cele doua numere au acelaşi semn.

Date de intrare

Programul va citi de la tastatură două numere întregi a şi b.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afişa pe ecran mesajul da dacă cele două numere au acelaşi semn, respectiv nu dacă cele două numere a semne contrare. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

-1.000.000.000 < a,b < 1.000.000.000 a şi b sunt nenule

Exemplul 1

Intrare
-3 14
Ieșire
Datele de intrare corespund restricțiilor impuse.
nu

Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

  1. Definim o funcție pentru a valida dacă numerele se încadrează în intervalul impus

def validare(a, b):

   if -1000000000 <= a <= 1000000000 and -1000000000 <= b <= 1000000000:
       if a != 0 and b != 0:
           return True
       else:
           return False
   else:
       return False


  1. Definim o funcție pentru a determina daca numerele au acelasi semn

def acelasi_semn(a, b):

   if a > 0 and b > 0:
       print("da")
   elif a < 0 and b < 0:
       print("da")
   else:
       print("nu")


  1. Începem programul principal

if __name__ == '__main__':

   a = int(input("Introduceți primul întreg: "))  # Citim primul număr de la tastatură și îl convertim în întreg
   b = int(input("Introduceți al doilea întreg: "))  # Citim al doilea număr de la tastatură și îl convertim în întreg
   if validare(a, b):  # Verificăm dacă numerele sunt valide
       print("Datele de intrare corespund restricțiilor impuse.")  # Dacă da, afișăm un mesaj corespunzător
       acelasi_semn(a, b)  # Apelăm funcția pentru a determina daca numerele au acelasi semn
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")  # Dacă nu, afișăm un mesaj corespunzător

</syntaxhighlight>