3212 - Cumpărături2: Difference between revisions
Vardai Erwin (talk | contribs) |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 6: | Line 6: | ||
==Date de ieșire== | ==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== | ==Restricții și precizări== | ||
| Line 16: | Line 16: | ||
;Intrare | ;Intrare | ||
:175 200 150 100 | :175 | ||
:200 | |||
:150 | |||
:100 | |||
;Ieșire | ;Ieșire | ||
:Datele de intrare corespund restricțiilor impuse. | |||
:robot | :robot | ||
Latest revision as of 17:22, 22 April 2023
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">
- 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
- 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>