Advertisement
George_Ivanov05

BMI_calculator

Jun 23rd, 2022
724
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.09 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import messagebox
  3.  
  4.  
  5. BMI_INFO_CONSTANT = 'BMI INFO'
  6.  
  7.  
  8. def show_person_BMI(bmi):
  9.     if bmi < 18.5:
  10.         messagebox.showinfo(BMI_INFO_CONSTANT, f'{bmi} you are Underweight')
  11.     elif 18.5 < bmi < 24.9:
  12.         messagebox.showinfo(BMI_INFO_CONSTANT, f'{bmi} you are Normal')
  13.     elif 24.9 < bmi < 29.9:
  14.         messagebox.showinfo(BMI_INFO_CONSTANT, f'{bmi} you are Overweight')
  15.     elif bmi > 29.9:
  16.         messagebox.showinfo(BMI_INFO_CONSTANT, f' {bmi} you are Obesity')
  17.     else:
  18.         messagebox.showerror(BMI_INFO_CONSTANT, 'Something went wrong!')
  19.  
  20.  
  21. def calculate_bmi():
  22.     kilograms = int(weight_in_kg.get())
  23.     meters = int(height_in_cm.get()) / 100
  24.     bmi = kilograms / (meters * meters)
  25.     bmi = round(bmi, 1)
  26.     show_person_BMI(bmi)
  27.  
  28.  
  29. root = Tk()
  30.  
  31.  
  32. var = IntVar()
  33.  
  34. root.title('PythonGuides')
  35. root.geometry('400x300')
  36. root.config(bg='black')
  37.  
  38. app_frame = Frame(
  39.     root,
  40.     padx=150,
  41.     pady=150
  42. )
  43. app_frame.pack(expand=True)
  44.  
  45.  
  46. gender_label = Label(
  47.     app_frame,
  48.     bg='grey',
  49.     text='Select Gender'
  50. )
  51. gender_label.grid(row=2, column=1)
  52.  
  53. frame2 = Frame(app_frame)
  54. frame2.grid(row=2, column=2, pady=5)
  55.  
  56. male_radio = Radiobutton(
  57.     frame2,
  58.     text='Male',
  59.     variable=var,
  60.     value=1
  61. )
  62. male_radio.pack(side=LEFT)
  63.  
  64. female_radio = Radiobutton(
  65.     frame2,
  66.     text='Female',
  67.     variable=var,
  68.     value=2
  69. )
  70. female_radio.pack(side=RIGHT)
  71.  
  72. height_label = Label(
  73.     app_frame,
  74.     bg='grey',
  75.     text="Enter Height in CM  "
  76. )
  77. height_label.grid(row=3, column=1)
  78.  
  79.  
  80. weight_label = Label(
  81.     app_frame,
  82.     bg='grey',
  83.     text="Enter Weight in KG  ",
  84. )
  85.  
  86. weight_label.grid(row=4, column=1)
  87.  
  88.  
  89. height_in_cm = Entry(app_frame)
  90.  
  91. height_in_cm.grid(row=3, column=2, pady=5)
  92.  
  93.  
  94. weight_in_kg = Entry(
  95.     app_frame,
  96. )
  97. weight_in_kg.grid(row=4, column=2, pady=5)
  98.  
  99. frame3 = Frame(app_frame)
  100. frame3.grid(row=5, columnspan=3, pady=10)
  101.  
  102. calculate_BMI_button = Button(
  103.     frame3,
  104.     text='Calculate your BMI',
  105.     command=calculate_bmi
  106. )
  107. calculate_BMI_button.pack(side=LEFT)
  108.  
  109.  
  110. root.mainloop()
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement