Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.76 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- encoding: utf-8 -*-
  3. # den BMI des Menschen ausrechnen
  4. # BMI = Körpergewicht : (Körpergröße in m)²
  5.  
  6. #Importieren der Bibilothek der GUI (tkinter)
  7. from tkinter import *
  8.  
  9.  
  10. # ----------Funktionen---------
  11.  
  12. #Funktion wird mit def eingeleitet
  13. def Berechnung():
  14.     #Auf den Wert einer globalen Variablen kann im gesamten Programm zugegriffen werden
  15.     global Größe
  16.     global Gewicht
  17.     BMI = 0
  18.     Ausgabefeld_1.delete(1.0, END)
  19.    
  20.     Eingabe2 = Eingabe_Größe.get()
  21.     # Versuche eingabe von Größe wennn es zu Fehlercode kommt (durch ein Buchstaben) gib die Fehlermeldung "Ungültige eingabe" aus
  22.     try:
  23.         Größe = int(Eingabe2) / 100  
  24.     except ValueError:
  25.         Ausgabe = "Ungültige Eingabe"
  26.         Ausgabefeld_1.delete(1.0, END)
  27.         Ausgabefeld_1.insert(END, (Ausgabe))    
  28.    
  29.     Eingabe = Eingabe_Gewicht.get()
  30.      # Versuche eingabe von Gewicht wennn es zu Fehlercode kommt (durch ein Buchstaben) gib die Fehlermeldung "Ungültige eingabe" aus
  31.     try:
  32.         Gewicht = int(Eingabe)
  33.     except ValueError:
  34.         Ausgabe = "Ungültige Eingabe"
  35.         Ausgabefeld_1.delete(1.0, END)
  36.         Ausgabefeld_1.insert(END, (Ausgabe))
  37.    
  38.    
  39.        
  40.   #  '''wenn kein error (fehlercode) kommt gehe weiter in die  else Variable wenn (if BMI < als 16 - gib den Hinweis = "Stark Untergewichtig"
  41.     #     wenn nicht geh weiter zur nächsten if variable wenn die nicht stimmt gehe weiter zur nächen,
  42.     #     bis die Richtige Variable gefunden wurde.
  43.     #     Ausgaben als Hinweis Definiert
  44.     #     '''
  45.  
  46.     else:
  47.         #Formel für die berechnung des BMI1 definiert
  48.         BMI1 = Gewicht / (Größe * Größe)  
  49.         BMI1 = round(BMI1, 2)
  50.         BMI = str(BMI1)
  51.        
  52.         if BMI1 < 16:
  53.             Hinweis = ", stark untergewichtig"
  54.         if BMI1 >= 16 and BMI1 < 17:
  55.             Hinweis = ", mäßig untergewichtig"
  56.         if BMI1 >= 17 and BMI1 < 18.5:
  57.             Hinweis = ", leicht untergewichtig"
  58.         if BMI1 >= 18.5 and BMI1 < 25:
  59.             Hinweis = ", Normalgewicht"
  60.         if BMI1 >= 25 and BMI1 < 30:
  61.             Hinweis = ", Präadipositas"
  62.         if BMI1 >= 30 and BMI1 < 35:
  63.             Hinweis = ", Adipositas Grad I"
  64.         if BMI1 >= 35 and BMI1 < 40:
  65.             Hinweis = ", Adipositas Grad II"
  66.         if BMI1 >= 40:
  67.             Hinweis = ", Adipositas Grad III"
  68.        
  69.        #ausgabe von dem Berechneten BMI wert durch die überprüfung der if Abfragen mit dem dazugehörigen "Hinweis"
  70.         Ausgabe = str(BMI + Hinweis)
  71.         Ausgabefeld_1.insert(END, (BMI + Hinweis))
  72.  
  73. #ende der Funktion und beenden der GUI
  74. def Ende():
  75.     BMI_Rechner.destroy()
  76.  
  77.  
  78. # ---------Definition der GUI---------
  79.  
  80. BMI_Rechner = Tk()
  81. #zuweisung des titels (namen) des Programms (GUI)
  82. BMI_Rechner.title("BMI Rechner")
  83.  
  84. #überschrift und position "Mein BMI"
  85. Überschrift = Label(BMI_Rechner, text=" Mein BMI", font="Times 10")
  86. Überschrift.grid(column="2", row="1")
  87.  
  88. Abstandshalter1 = Label(BMI_Rechner, text=" ")
  89. Abstandshalter1.grid(column="1", row="2")
  90.  
  91. # Eingabe Gewicht, Variable = Gewicht
  92. #positionen vom eingabefeld gesetzt mit KG angabe und der dazugehörigen Überschrift "Bitte Gewicht eingeben"
  93. #grind manager in tkinter ->"row"-> (Reihen) zum eingeben von texten mit positionierung "colmun" -> (Spalten) (button oder eingabefeld mit positionierung )
  94. # -> sticky sagt aus in welcher Himmelsrichtung das widget angeheftet werden soll.
  95. Hinweis_Eingabe1 = Label(BMI_Rechner, text="Bitte Gewicht eingeben:")
  96. Hinweis_Eingabe1.grid(column="1", row="3")
  97. Eingabe_Gewicht = Entry(BMI_Rechner)
  98. Eingabe_Gewicht.insert(0, "0")
  99. Eingabe_Gewicht.grid(column=1, row=4)
  100. Hinweis_Einheit = Label(BMI_Rechner, text="Kg").grid(column=2, row=4, sticky=W)
  101.  
  102. # Eingabe Größe, Variable = Größe
  103. Hinweis_Eingabe2 = Label(BMI_Rechner, text="Bitte Größe eingeben:")
  104. Hinweis_Eingabe2.grid(column="3", row="3")
  105. Eingabe_Größe = Entry(BMI_Rechner)
  106. Eingabe_Größe.insert(0, "0")
  107. Eingabe_Größe.grid(column="3", row="4")
  108. Hinweis_Einheit = Label(BMI_Rechner, text="cm").grid(column=5, row=4, sticky=W)
  109.  
  110. Abstandshalter2 = Label(BMI_Rechner, text=" ")
  111. Abstandshalter2.grid(column="1", row="5")
  112.  
  113. # Berechen und Ausgabe des Ergebnisses in der GUI
  114. Berechnen = Button(BMI_Rechner, text="Berechnen", command=Berechnung)
  115. Berechnen.grid(column="2", row="6")
  116.  
  117. Abstandshalter2 = Label(BMI_Rechner, text=" ")
  118. Abstandshalter2.grid(column="1", row="7")
  119.  
  120. Hinweisfeld_1 = Label(BMI_Rechner, text="Dein BMI ist:", font="Times 10")
  121. Hinweisfeld_1.grid(column=2, row=8)
  122. Ausgabefeld_1 = Text(BMI_Rechner, height="1", width="30")
  123. Ausgabefeld_1.grid(column=2, row=9)
  124.  
  125. Ende_Button = Button(BMI_Rechner, text="ENDE", command=Ende)
  126. Ende_Button.grid(column=5, row=11)
  127.  
  128. BMI_Rechner.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement