Thursday, September 30, 2021

BMI Calculator using Python Tkinter module

Using Python's Tkinter module, here I have implemented a BMI calculator.

BMI introduction

BMI is a measurement of a person's leanness or corpulence based on their height and weight, and is intended to quantify tissue mass. It is widely used as a general indicator of whether a person has a healthy body weight for their height. Specifically, the value obtained from the calculation of BMI is used to categorize whether a person is underweight, normal weight, overweight, or obese depending on what range the value falls between.


BMI table for adults

This is the World Health Organization's (WHO) recommended body weight based on BMI values for adults. It is used for both men and women, age 18 or older.

CategoryBMI range - kg/m2
Severe Thinness< 16
Moderate Thinness16 - 17
Mild Thinness17 - 18.5
Normal18.5 - 25
Overweight25 - 30
Obese Class I30 - 35
Obese Class II35 - 40
Obese Class III> 40


Below is the Python program and corresponding output window is shown.
from tkinter import *

def bmi_calci():
weight = float(weight_input.get())
height = float(height_input.get())
res = round((weight/(height*height))*10000, 2)
bmi_result_label.config(text=f"{res}")

window = Tk()
window.title("BMI Calculator")
window.minsize(width=250, height=150)
window.config(padx=20, pady=20)

weight = Label(text="Weight is")
weight.grid(column=0, row=0)
height = Label(text="Height is")
height.grid(column=0, row=1)
weight_input = Entry(width=12)
weight_input.grid(column=1, row=0)
height_input = Entry(width=12)
height_input.grid(column=1, row=1)

weight_label = Label(text="KG")
weight_label.grid(column=2, row=0)
height_label = Label(text="CM")
height_label.grid(column=2, row=1)

bmi_label = Label(text="Your BMI is ")
bmi_label.grid(column=0, row=2)
bmi_result_label = Label(text="0")
bmi_result_label.grid(column=1, row=2)
bmi_unit_label = Label(text="Kg/m^2")
bmi_unit_label.grid(column=2, row=2)

calculate_button = Button(text="Calculate", command = bmi_calci)
calculate_button.grid(column=1, row=3)



window.mainloop()

Output Window:

Link to Calculate BMI online: BMI Calculator

Tuesday, September 28, 2021

DCA September 2021: Check number is "UNO" or "NOT UNO"

Following code is to check if a given positive integer input by user is UNO number or NOT UNO

For e.g. if user input is 1234 then here the sum of digits if the given number is 1+2+3+4 = 10 and then again if we sum the digits of resulting number i.e. 10 is 1+0 = 1 hence if this kind of sum of digits of a number is 1 then the number is said UNO else NOT UNO

NOT UNO e.g. 234 here sum of digits is 2+3+4 = 9, this is not equal to 1 hence it is said NOT UNO

Python Program: 

num = int(input()) #takes user input


def check_uno(num):
sum_d = 0
k = 0
while num > 0:
k = num % 10
sum_d = sum_d + k
num = num // 10
if sum_d == 1 or sum_d == 10:
print("UNO")
elif (sum_d > 1 and sum_d < 10):
print("NOT UNO")
elif sum_d > 11:
b = check_uno(sum_d)

check_uno(num)

#Output:
Input = 1234
Output = UNO
Input = 12345
Output = NOT UNO
Input = 345345
Output = NOT UNO






Tuesday, September 7, 2021

IC555: Astable Multivibrator- LED blinking/Dancing

The 555 Timer IC can be connected either in its Monostable mode thereby producing a precision timer of a fixed time duration, or in its Bistable mode to produce a flip-flop type switching action. But we can also connect the 555 timer IC in an Astable mode to produce a very stable 555 Oscillator circuit for generating highly accurate free running waveforms whose output frequency can be adjusted by means of an externally connected RC tank circuit consisting of just two resistors and a capacitor.

Below video shows implemented circuit in Proteus design suite. You can see the LEDs connected to output pin are blinking continuously. 



In the 555 Oscillator above video, pin 2 and pin 6 are connected together allowing the circuit to re-trigger itself on each and every cycle allowing it to operate as a free running oscillator. During each cycle capacitor, C charges up through both timing resistors, R1 and R2 but discharges itself only through resistor, R2 as the other side of R2 is connected to the discharge terminal, pin 7.

Then the capacitor charges up to 2/3Vcc (the upper comparator limit) which is determined by the 0.693(R1+R2)C combination and discharges itself down to 1/3Vcc (the lower comparator limit) determined by the 0.693(R2*C) combination. This results in an output waveform whose voltage level is approximately equal to Vcc – 1.5V and whose output “ON” and “OFF” time periods are determined by the capacitor and resistors combinations. The individual times required to complete one charge and discharge cycle of the output is therefore given as:





Thursday, September 2, 2021

Python: Program for Area of Rectangle, Circle, and Square

 Below is the program which calculates the areas of Rectangle, Circle, and Square. It takes the inputs from user such as length and width for Rectangle, radius for Circle, and side of Square for Square.

Code:

length = int(input("Enter the length of the Rectangle "))

width = int(input("Enter the width of the Rectangle "))

radius = int(input("Enter radius of Circle "))

side = int(input("Enter side of the Square "))

class Area:

    def __init__(self, length, width, radius, side,):

        self.length = length

        self.width = width

        self.radius = radius

        self.side = side

 

    def Rect_area(self):

        rect_area = self.length*self.width

        print(f"Area of the Rectangle = {rect_area} Sq.Units")


    def Cir_area(self):

        cir_area = 3.14*self.radius**2

        print(f"Area of circle = {cir_area} Sq.Units")

   

    def Squ_area(self):

        squ_area = self.side**2

        print(f"Area of Square = {squ_area} Sq.Units") 

 

rectangle = Area(length, width, radius, side)

circle = Area(length, width, radius, side)

square = Area(length, width, radius, side)


rectangle.Rect_area()

circle.Cir_area()

square.Squ_area()

Output:

Enter the length of the Rectangle 5

Enter the width of the Rectangle 6

Enter radius of Circle 4

Enter side of the Square 7

Area of the Rectangle = 30 Sq.Units

Area of circle = 50.24 Sq.Units

Area of Square = 49 Sq.Units


Python: Finding area of rectangle

The program shown below calculates the area of the rectangle for given user inputs of length and width.

#Program:

length = int(input("Enter the length of the Rectangle "))

width = int(input("Enter the width of the Rectangle "))

class Rectangle:

    def __init__(self, length, width):

        self.length = length

        self.width = width


    def area(self):

        rect_area = self.length*self.width

        print("Area of the Rectangle = ", rect_area)

 

area1 = Rectangle(length, width)

area1.area()

Output:

Enter the length of the Rectangle 7

Enter the width of the Rectangle 9

Area of the Rectangle =  63

Some useful parameters

Dielectric constant  Metals have infinite Dielectric constant  As usually metals permittivity is very large than of free space hence its Die...