0333 - Triunghi1
Cerință
Să se scrie un program care citeşte trei numere reale şi verifică dacă aceste numere pot fi lungimile laturilor unui triunghi și în caz afirmativ determină daca triunghiul este ascuțitunghic, dreptunghic sau obtuzunghic.
Date de intrare
Programul citește de la tastatură trei numere reale a, b, c.
Date de ieșire
Programul afișează pe ecran mesajul nu este triunghi, dacă cele trei numere nu pot fi lungimile laturilor unui triunghi, respectiv unul dintre mesajele triunghi ascutitunghic, triunghi dreptunghic sau triunghi obtuzunghic, în funcție de natura triunghiului.
Restricții și precizări
- 0 ≤ a,b,c ≤ 100
Exemplul 1
- Intrare
- 3 5 4
- Ieșire
- triunghi dreptunghic
Exemplul 2
- Intrare
- 5 1 4
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- nu este triunghi
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b, c):
# Verifică dacă lungimile laturilor sunt cuprinse între 0 și 100 if 0 <= a <= 100 and 0 <= b <= 100 and 0 <= c <= 100: return True return False
def triunghi(a, b, c):
if a <= 0 or b <= 0 or c <= 0 or a >= b + c or b >= a + c or c >= a + b: # Dacă laturile nu pot forma un triunghi, afișează un mesaj corespunzător print("nu este triunghi") elif a * a + b * b == c * c or b * b + c * c == a * a or c * c + a * a == b * b: # Dacă triunghiul este dreptunghic, afișează un mesaj corespunzător print("triunghi dreptunghic") elif a * a + b * b > c * c and b * b + c * c > a * a and c * c + a * a > b * b: # Dacă triunghiul este ascutitunghic, afișează un mesaj corespunzător print("triunghi ascutitunghic") else: # Dacă triunghiul este obtuzunghic, afișează un mesaj corespunzător print("triunghi obtuzunghic")
if __name__ == "__main__":
# Citeste lungimile laturilor triunghiului de la tastatură a, b, c = map(float, input().split()) if validare(a, b, c): # Dacă laturile sunt valide, afișează un mesaj corespunzător și calculează tipul triunghiului print("Datele de intrare corespund restricțiilor impuse.") triunghi(a, b, c) else: # Dacă laturile nu sunt valide, afișează un mesaj corespunzător print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>