Code Verbesserung/Verschönerung
Verfasst: Freitag 5. März 2021, 11:14
Hallo Zusammen
Ich bin neu hier und dies ist mein erster Beitrag. Ich bin ein Python neuling und allgemein ein neuling im Programieren.
Ich habe mich an einem kleinem Spannungsrechner, den ich in meine Studium gebrauchen kann, versucht.
Der Rechner funktioniert einwandfrei, nun möchte ich ihn aber graphisch noch erweitern mit 3D-Bildern etc.
Jetzt meine Frage: Hat jemand einen Vorschlag wie ich denn Code ab Zeile "Label erzeugen" vereinfache oder verschönern kann ?
[img][https://ibb.co/YPc6XgS/img]
Ich bin neu hier und dies ist mein erster Beitrag. Ich bin ein Python neuling und allgemein ein neuling im Programieren.
Ich habe mich an einem kleinem Spannungsrechner, den ich in meine Studium gebrauchen kann, versucht.
Der Rechner funktioniert einwandfrei, nun möchte ich ihn aber graphisch noch erweitern mit 3D-Bildern etc.
Jetzt meine Frage: Hat jemand einen Vorschlag wie ich denn Code ab Zeile "Label erzeugen" vereinfache oder verschönern kann ?
[img][https://ibb.co/YPc6XgS/img]
Code: Alles auswählen
[#Spannungstrapezverfahren
import numpy as np
import tkinter as tk
main=tk.Tk()
main.title("Spannungstrapezverfahren")
main.minsize(160*4,90*4)
#Definition und berechnung der Eckspannungen [list][/list]
def Eckspannungsberechnung ():
N=float(txtNormalkraft.get())
bx=float(txtLänge_a.get())
by=float(txtLänge_b.get())
ex=float(txtAusmitte_x.get())
ey=float(txtAusmitte_y.get())
Wy=1/6*by*bx**2
Wx=1/6*bx*by**2
try:
S1=N/(bx*by)+(N*ex)/Wy+(N*ey)/Wx
lblErgebnis_S1["text"]="S1= "+str(S1)+"kN/m^2"
S2=N/(bx*by)-N*ex/Wy+N*ey/Wx
lblErgebnis_S2["text"]="S2= "+str(S2)+"kN/m^2"
S3=N/(bx*by)-N*ex/Wy-N*ey/Wx
lblErgebnis_S3["text"]="S3= "+str(S3)+"kN/m^2"
S4=N/(bx*by)+N*ex/Wy-N*ey/Wx
lblErgebnis_S4["text"]="S4= "+str(S4)+"kN/m^2"
except:
lblErgebnis_S1["text"]="Zahlen eingeben"
lblErgebnis_S2["text"]="Zahlen eingeben"
lblErgebnis_S3["text"]="Zahlen eingeben"
lblErgebnis_S4["text"]="Zahlen eingeben"
#Label erzeugen
lblNormalkraft=tk.Label(main,text="Normalkraft in kN/m^2: ")
lblLänge_a=tk.Label(main,text="Länge a in m eingeben")
lblLänge_b=tk.Label(main,text="Länge b in m eingeben")
lblAusmitte_x=tk.Label(main,text="Ausmitte in x-Richtung in m eingeben")
lblAusmitte_y=tk.Label(main,text="Ausmitte in y-Richtung in m eingeben")
lblErgebnis_S1=tk.Label(main,text="")
lblErgebnis_S2=tk.Label(main,text="")
lblErgebnis_S3=tk.Label(main,text="")
lblErgebnis_S4=tk.Label(main,text="")
#Textfelder erzeugen
txtNormalkraft=tk.Entry(main,width=5,justify="center")
txtNormalkraft.insert(5,"")
txtLänge_a=tk.Entry(main,width=5,justify="center")
txtLänge_a.insert(5,"")
txtLänge_b=tk.Entry(main,width=5,justify="center")
txtLänge_b.insert(5,"")
txtAusmitte_x=tk.Entry(main,width=5,justify="center")
txtAusmitte_x.insert(5,"")
txtAusmitte_y=tk.Entry(main,width=5,justify="center")
txtAusmitte_y.insert(5,"")
#Befehlschaltfläche
Berechnen_S1=tk.Button(main,text="Berechne Eckspannung S1, S2, S3 ,S4",command=Eckspannungsberechnung)
Ende=tk.Button(main,text="Benden",command=main.destroy)
#Steuerelemente einfügen
lblNormalkraft.pack()
txtNormalkraft.pack()
lblLänge_a.pack()
txtLänge_a.pack()
lblLänge_b.pack()
txtLänge_b.pack()
lblAusmitte_x.pack()
txtAusmitte_x.pack()
lblAusmitte_y.pack()
txtAusmitte_y.pack()
Berechnen_S1.pack()
lblErgebnis_S1.pack()
lblErgebnis_S2.pack()
lblErgebnis_S3.pack()
lblErgebnis_S4.pack()
Ende.pack()
main.mainloop()/code]