Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- encoding: utf-8 -*-
- # den BMI des Menschen ausrechnen
- # BMI = Körpergewicht : (Körpergröße in m)²
- #Importieren der Bibilothek der GUI (tkinter)
- from tkinter import *
- # ----------Funktionen---------
- #Funktion wird mit def eingeleitet
- def Berechnung():
- #Auf den Wert einer globalen Variablen kann im gesamten Programm zugegriffen werden
- global Größe
- global Gewicht
- BMI = 0
- Ausgabefeld_1.delete(1.0, END)
- Eingabe2 = Eingabe_Größe.get()
- # Versuche eingabe von Größe wennn es zu Fehlercode kommt (durch ein Buchstaben) gib die Fehlermeldung "Ungültige eingabe" aus
- try:
- Größe = int(Eingabe2) / 100
- except ValueError:
- Ausgabe = "Ungültige Eingabe"
- Ausgabefeld_1.delete(1.0, END)
- Ausgabefeld_1.insert(END, (Ausgabe))
- Eingabe = Eingabe_Gewicht.get()
- # Versuche eingabe von Gewicht wennn es zu Fehlercode kommt (durch ein Buchstaben) gib die Fehlermeldung "Ungültige eingabe" aus
- try:
- Gewicht = int(Eingabe)
- except ValueError:
- Ausgabe = "Ungültige Eingabe"
- Ausgabefeld_1.delete(1.0, END)
- Ausgabefeld_1.insert(END, (Ausgabe))
- # '''wenn kein error (fehlercode) kommt gehe weiter in die else Variable wenn (if BMI < als 16 - gib den Hinweis = "Stark Untergewichtig"
- # wenn nicht geh weiter zur nächsten if variable wenn die nicht stimmt gehe weiter zur nächen,
- # bis die Richtige Variable gefunden wurde.
- # Ausgaben als Hinweis Definiert
- # '''
- else:
- #Formel für die berechnung des BMI1 definiert
- BMI1 = Gewicht / (Größe * Größe)
- BMI1 = round(BMI1, 2)
- BMI = str(BMI1)
- if BMI1 < 16:
- Hinweis = ", stark untergewichtig"
- if BMI1 >= 16 and BMI1 < 17:
- Hinweis = ", mäßig untergewichtig"
- if BMI1 >= 17 and BMI1 < 18.5:
- Hinweis = ", leicht untergewichtig"
- if BMI1 >= 18.5 and BMI1 < 25:
- Hinweis = ", Normalgewicht"
- if BMI1 >= 25 and BMI1 < 30:
- Hinweis = ", Präadipositas"
- if BMI1 >= 30 and BMI1 < 35:
- Hinweis = ", Adipositas Grad I"
- if BMI1 >= 35 and BMI1 < 40:
- Hinweis = ", Adipositas Grad II"
- if BMI1 >= 40:
- Hinweis = ", Adipositas Grad III"
- #ausgabe von dem Berechneten BMI wert durch die überprüfung der if Abfragen mit dem dazugehörigen "Hinweis"
- Ausgabe = str(BMI + Hinweis)
- Ausgabefeld_1.insert(END, (BMI + Hinweis))
- #ende der Funktion und beenden der GUI
- def Ende():
- BMI_Rechner.destroy()
- # ---------Definition der GUI---------
- BMI_Rechner = Tk()
- #zuweisung des titels (namen) des Programms (GUI)
- BMI_Rechner.title("BMI Rechner")
- #überschrift und position "Mein BMI"
- Überschrift = Label(BMI_Rechner, text=" Mein BMI", font="Times 10")
- Überschrift.grid(column="2", row="1")
- Abstandshalter1 = Label(BMI_Rechner, text=" ")
- Abstandshalter1.grid(column="1", row="2")
- # Eingabe Gewicht, Variable = Gewicht
- #positionen vom eingabefeld gesetzt mit KG angabe und der dazugehörigen Überschrift "Bitte Gewicht eingeben"
- #grind manager in tkinter ->"row"-> (Reihen) zum eingeben von texten mit positionierung "colmun" -> (Spalten) (button oder eingabefeld mit positionierung )
- # -> sticky sagt aus in welcher Himmelsrichtung das widget angeheftet werden soll.
- Hinweis_Eingabe1 = Label(BMI_Rechner, text="Bitte Gewicht eingeben:")
- Hinweis_Eingabe1.grid(column="1", row="3")
- Eingabe_Gewicht = Entry(BMI_Rechner)
- Eingabe_Gewicht.insert(0, "0")
- Eingabe_Gewicht.grid(column=1, row=4)
- Hinweis_Einheit = Label(BMI_Rechner, text="Kg").grid(column=2, row=4, sticky=W)
- # Eingabe Größe, Variable = Größe
- Hinweis_Eingabe2 = Label(BMI_Rechner, text="Bitte Größe eingeben:")
- Hinweis_Eingabe2.grid(column="3", row="3")
- Eingabe_Größe = Entry(BMI_Rechner)
- Eingabe_Größe.insert(0, "0")
- Eingabe_Größe.grid(column="3", row="4")
- Hinweis_Einheit = Label(BMI_Rechner, text="cm").grid(column=5, row=4, sticky=W)
- Abstandshalter2 = Label(BMI_Rechner, text=" ")
- Abstandshalter2.grid(column="1", row="5")
- # Berechen und Ausgabe des Ergebnisses in der GUI
- Berechnen = Button(BMI_Rechner, text="Berechnen", command=Berechnung)
- Berechnen.grid(column="2", row="6")
- Abstandshalter2 = Label(BMI_Rechner, text=" ")
- Abstandshalter2.grid(column="1", row="7")
- Hinweisfeld_1 = Label(BMI_Rechner, text="Dein BMI ist:", font="Times 10")
- Hinweisfeld_1.grid(column=2, row=8)
- Ausgabefeld_1 = Text(BMI_Rechner, height="1", width="30")
- Ausgabefeld_1.grid(column=2, row=9)
- Ende_Button = Button(BMI_Rechner, text="ENDE", command=Ende)
- Ende_Button.grid(column=5, row=11)
- BMI_Rechner.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement