Hirdetés

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

  • Janos46

    tag

    Csak én látom hogy nincs sorbehúzás, vagy tényleg nincs. Mert amikor beraktam,. akkor volt.

    Sziasztok!
    Tanulgatok, de de lassan haladok. A következőhöz szeretnék segítséget kérni. Írtam egy (több is hasonló) progit, amihez kérek pár segítséget, így a többiben is tudnák javítani.
    1. A 15. sorban,miután a képet beolvasta, a kurzort nem teszi ki, úgy kell odapozicionálni.
    2.Mikor kiszámolta a gömböt, tovább megy, hogyan lehetne megállítani (break?).
    3. Mindaddig jó számol a program, amíg a q1=8.5 és q2=9 nem lesz, mert akkor a réteg magasságát mínusznak értelmezi.
    Köszi ha tudnátok orvosolni, illetve az utolsót megmagyarázni.

    # Gömbreteg felülete, térfogata, kis- és nagy sugara és magassága.
    # Továbbá a gömb térfogata és felülete.
    """ Amennyiben csak a sugár van megadva és a többi nulla, abban az esetben
    a gömb patramétereit számolja ki. A gömbréteg számolásánál a gömb sugarát
    és vagy a gömbréteg sugarait, vagy a magasságait kell megadni."""

    print("Gömb és gömbréteg.\n")
    from math import sqrt, pi
    from tkinter import *
    from colorama import Fore
    abl = Tk()
    abl.title("Gömb és gömbreteg számítása.")

    can = Canvas(abl, width=420, height=380, bg='lightgreen') # A kép ablakának mérete
    photo = PhotoImage(file='Gombreteg.gif') # A kép csak "gif" lehet.
    item=can.create_image(210,190, image=photo) # A kép mérete az ablakban
    can.grid()
    abl.update()

    r=float(input("Mekkora a gömb sugara (r) : "))
    q1=float(input("Gömbréteg felső sugara (q1) : "))
    q2=float(input("Gömbréteg alsó sugara (q2) : "))
    m1=float(input("Gömbréteg feletti magasság (m1) : "))
    m2=float(input("Gömbréteg alatti magasság (m2) : "))
    M0=m1+m2

    if r>0 and q1==0 and q2==0 and m1==0 and m2==0:
    # Ha a sugarak és a magasságok nullák, akkor egy gömböt számol ki.
    A=4*pi*r**2
    V=(4/3)*pi*r**3
    print("\nA gömb felülete: ",round(A,2))
    print("A gömb térfogata:",round(V,2))

    if m1==0 and m2==0:
    if q1>r or q2>r or q1>=q2:
    print(Fore.RED + "\nHIBA1! q1>r q1>=q2")
    else:
    m1=r-sqrt(r**2-q1**2) # Felső szelet magassága
    m2=r-sqrt(r**2-q2**2) # Alsó szelet magassága
    M=r-(m2+m1) # Gömbréteg magassága

    A=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felülete
    V=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogata
    print("\nFelső szelet magasság: ",m1, "\nAlsó szelet magasság: ",m2, "\nGömbréteg magassága: ",M)
    print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V)

    if q1==0 or q2==0:
    if m1>=r or m2>=r or m1>m2 or M0>=r:
    print(Fore.RED + "\nHIBA valamelyik! m2>r m1>m2 m1+m2>=r")
    else:
    q1=sqrt(r**2-(r-m1)**2) # Gömbréteg felső sugara
    q2=sqrt(r**2-(r-m2)**2) # Gömbréteg alsó sugara
    M=r-(m2+m1) # Gömbréteg magassága
    A=pi*(2*r*M+q1**2+q2**2) # Gömbréteg felülete
    V=((M*pi)/6)*(M**2+3*q1**2+3*q2**2) # Gömbréteg térfogata
    print("\nFelső gömbszelet sugara: ",q1, "\nAlsó gömbszelet sugara : ",q2, "\nGömbréteg magassága: ",M)
    print("\nGömbréteg felülete: ",A, "\nGömbréteg térfogata: ",V)

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