3212 - Cumpărături2

From Bitnami MediaWiki
Revision as of 17:22, 22 April 2023 by Vardai Erwin (talk | contribs) (→‎Exemplul 1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Se apropie Crăciunul. Gigel a văzut la magazin trei jucării care îi plac: cel mai mult îi place o dronă, care costă d lei, apoi îi place un robot care costă r lei, apoi o mașină care costă m lei, d > r > m. De Crăciun Gigel merge la colindat la rude și va primi de la acestea S lei. Aflați ce jucărie va cumpăra Gigel cu banii câștigați: drona, robotul, masina sau niciuna dintre ele!

Date de intrare

Programul citește de la tastatură numerele naturale S d r m.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran textul drona, robot, masina sau nimic. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

1 ≤ S , d , r , m ≤ 1.000.000.000 d > r > m Gigel va alege cel mult un obiect, cel mai scump pe care îl poate cumpăra

Exemplul 1

Intrare
175
200
150
100
Ieșire
Datele de intrare corespund restricțiilor impuse.
robot

Rezolvare

Rezolvare ver. 1

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

  1. Functia de validare a restrictiilor

def validare(d, r, m, S):

   # Verificam daca valorile sunt intre 1 si 1 miliard inclusiv, pentru a respecta restricția impusa
   if not (1 <= d <= 1000000000 and 1 <= r <= 1000000000 and 1 <= m <= 1000000000 and 1 <= S <= 1000000000):
       return False
   # Verificam daca drona este cea mai scumpa jucarie, iar masina cea mai ieftina, pentru a respecta restricția impusa
   if not (d > r > m):
       return False
   return True


  1. Functia care determina ce jucarie va cumpara Gigel

def alege_jucarie(d, r, m, S):

   if S >= d:
       return "drona"
   elif S >= r:
       return "robot"
   elif S >= m:
       return "masina"
   else:
       return "niciuna"


if __name__ == '__main__':

   # Citirea de la tastatura a datelor problemei
   S = int(input("Suma de bani a lui Gigel :"))
   d = int(input("Pretul Dronei :"))
   r = int(input("Pretul Robotului :"))
   m = int(input("Pretul Masinii :"))
   if validare(d, r, m, S):  # Apelarea functiei de Validare
       print("Datele de intrare corespund restricțiilor impuse.")
       jucarie_aleasa = alege_jucarie(d, r, m, S)  # Apelarea functiei care determina ce jucarie a ales Gigel
       print(jucarie_aleasa)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>