Hirdetés

Új hozzászólás Aktív témák

  • Janos46

    tag

    Sziasztok!
    Hogyan kell megírni, hogy abban az estben ha véletlenül a magasságot és a palástot is megadják, csak akkor írja ki a hibát.
    Köszi a segítséget.

    # Négyzet alapú egyenes gúla felszíne és térfogata.

    from math import *

    ah=input("Mekkora az  a  oldala:   ")
    th=input("Mekkora a   b  oldala:   ")
    oh=input("Mekkora a   h  palást:   ")
    mm=input("Mekkora az  m  magasság: ")

    a=float(ah)
    b=float(th)
    h=float(oh)
    m=float(mm)

    if h >= 0:
        if m >= 0:
            print ("\nHiba! Csak magasság vagy palást kell!")

    if h == 0:
        Am=a**2+b**2+2*(sqrt(abs(m**2+((a-b)/2)**2)))*(a+b)   # felületet számol
        Vm=m*(a**2+(a*b)+b**2)/3                              # térfogatot számol
        Om=sqrt(abs(((a-b)/2)**2+(m**2)))                     # palástot számol
        print("\nHa a magasság van megadva: " +str(m))
        print ("  Felülete:  ",round(Am,3), "\n  Térfogata: ",round(Vm,3), "\n  Palástja:  ",round(Om,3))

    if m == 0:
        Ah=a**2+b**2+(2*h*(a+b))                               # felületet számol
        Vh=(sqrt(abs(h**2-((a-b)/2)**2)))*(a**2+(a*b)+b**2)/3  # térfogatot számol
        Oh=sqrt(abs(h**2-(((a-b)/2)**2)))                      # magasságot számol
        print("\nHa a palást van megadva: " + str(h))
        print("\n  Felülete:  ",round(Ah,3), "\n  Téfogata:  ",round(Vh,3), "\n  Magassága: ",round(Oh,3))
        

Új hozzászólás Aktív témák