3071 - Densitate
Cerinţa
O eprubetă plină cu apă cântărește masa grame. În eprubetă se scufundă o monedă de volum grame. În noua stare, eprubeta cântărește coeficient_expansiune grame. Să se determine densitatea metalului din care e confecționată moneda.
Date de intrare
Programul citește de la tastatură cele trei numere masa, volum și coeficient_expansiune, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numărul densitate_metal, reprezentând valoarea cerută. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.", iar daca se indeplinesc se afiseaza mesajul "Datele de intrare corespund restricțiilor impuse."
Restricţii şi precizări
cele trei numere citite sunt numere reale
Exemplul 1
- Intrare
50 12 60.5
- Ieșire
Datele de intrare corespund restricțiilor impuse. 8.0
Exemplul 2
- Intrare
50 12 x
- Ieșire
Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="1"> def calcul_densitate(masa, volum, coeficient_expansiune):
# Calculăm densitatea metalului densitate = volum / (masa + volum - coeficient_expansiune) return densitate
if __name__ == "__main__":
try: # Citim cele trei valori masa, volum și coeficient_expansiune de la tastatură input_values = input().split()
# Verificăm dacă toate cele trei valori introduse sunt numere if not all(val.replace('.', , 1).lstrip('-').isdigit() for val in input_values): raise ValueError("Datele de intrare nu corespund restricțiilor impuse.")
masa, volum, coeficient_expansiune = map(float, input_values)
# Verificăm dacă datele îndeplinesc restricțiile if (masa + volum - coeficient_expansiune) == 0: raise ValueError("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.")
# Apelăm funcția pentru a calcula densitatea metalului densitate_metal = calcul_densitate(masa, volum, coeficient_expansiune)
# Afișăm densitatea metalului print(densitate_metal)
except ValueError as e: # Afișăm mesajul în cazul în care datele nu îndeplinesc restricțiile print(str(e))
</syntaxhighlight>
Explicație
Pentru masa=50, volum=12 și coeficient_expansiune=60.5 se va afișa 8 (g/cm3).