0% found this document useful (0 votes)
7 views13 pages

python program

The document contains multiple Python programs demonstrating various functionalities, including a simple calculator using Tkinter, grade conversion from numerical to letter grades, and different patterns using loops. It also includes stack and queue implementations using lists. Each program is self-contained and showcases specific programming concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views13 pages

python program

The document contains multiple Python programs demonstrating various functionalities, including a simple calculator using Tkinter, grade conversion from numerical to letter grades, and different patterns using loops. It also includes stack and queue implementations using lists. Each program is self-contained and showcases specific programming concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

import tkinter as tk

import tkinter.messagebox
from tkinter.constants import SUNKEN
window = tk.Tk()
window.title('Calculator-GeeksForGeeks')
frame = tk.Frame(master=window, bg="skyblue", padx=10)
frame.pack()
entry = tk.Entry(master=frame, relief=SUNKEN,
borderwidth=3, width=30)
entry.grid(row=0, column=0, columnspan=3, ipady=2,
pady=2)
def myclick(number):
entry.insert(tk.END, number)
def equal():
try:
y = str(eval(entry.get()))
entry.delete(0, tk.END)
entry.insert(0, y)
except:
tkinter.messagebox.showinfo("Error", "Syntax Error")

def clear():
entry.delete(0, tk.END)
button_1 = tk.Button(master=frame, text='1', padx=15,
pady=5, width=3, command=lambda:
myclick(1))
button_1.grid(row=1, column=0, pady=2)
button_2 = tk.Button(master=frame, text='2', padx=15,
pady=5, width=3, command=lambda:
myclick(2))
button_2.grid(row=1, column=1, pady=2)
button_3 = tk.Button(master=frame, text='3', padx=15,
pady=5, width=3, command=lambda:
myclick(3))
button_3.grid(row=1, column=2, pady=2)
button_4 = tk.Button(master=frame, text='4', padx=15,
pady=5, width=3, command=lambda:
myclick(4))
button_4.grid(row=2, column=0, pady=2)
button_5 = tk.Button(master=frame, text='5', padx=15,
pady=5, width=3, command=lambda:
myclick(5))
button_5.grid(row=2, column=1, pady=2)
button_6 = tk.Button(master=frame, text='6', padx=15,
pady=5, width=3, command=lambda:
myclick(6)) button_6.grid(row=2, column=2, pady=2)
button_7 = tk.Button(master=frame, text='7', padx=15,
pady=5, width=3, command=lambda:
myclick(7))
button_7.grid(row=3, column=0, pady=2)
button_8 = tk.Button(master=frame, text='8', padx=15,
pady=5, width=3, command=lambda:
myclick(8))
button_8.grid(row=3, column=1, pady=2)
button_9 = tk.Button(master=frame, text='9', padx=15,
pady=5, width=3, command=lambda:
myclick(9))
button_9.grid(row=3, column=2, pady=2)
button_0 = tk.Button(master=frame, text='0', padx=15,
pady=5, width=3, command=lambda:
myclick(0))
button_0.grid(row=4, column=1, pady=2)

button_add = tk.Button(master=frame, text="+", padx=15,


pady=5, width=3, command=lambda:
myclick('+'))
button_add.grid(row=5, column=0, pady=2)

button_subtract = tk.Button(
master=frame, text="-", padx=15, pady=5, width=3,
command=lambda: myclick('-'))
button_subtract.grid(row=5, column=1, pady=2)

button_multiply = tk.Button(
master=frame, text="*", padx=15, pady=5, width=3,
command=lambda: myclick('*'))
button_multiply.grid(row=5, column=2, pady=2)

button_div = tk.Button(master=frame, text="/", padx=15,


pady=5, width=3,
command=lambda: myclick('/'))
button_div.grid(row=6, column=0,
pady=2)
button_clear = tk.Button(master=frame,
text="clear",
padx=15, pady=5,
width=12, command=clear)
button_clear.grid(row=6, column=1,
columnspan=2, pady=2)
button_equal = tk.Button(master=frame,
text="=", padx=15,
pady=5, width=9,
command=equal)
button_equal.grid(row=7, column=0, columnspan=3, pady=2)

window.mainloop()

program 2
def get_letter_grade(grade):

"""

This function converts a numerical grade to a letter grade.

Args:

grade: A numerical grade between 0 and 100.

Returns:
A letter grade (A, B, C, D, or F).

"""

if grade >= 90:

return "A"

elif grade >= 80:

return "B"

elif grade >= 70:

return "C"

elif grade >= 60:

return "D"

else:

return "F"

def main():

"""

This function prompts the user for a numerical grade, calls the get_letter_grade function to convert it,
and prints the letter grade.

"""

try:

# Get the numerical grade from the user

number_grade = float(input("Enter your numerical grade (0-100): "))

# Input validation - check if grade is between 0 and 100

if not (0 <= number_grade <= 100):


raise ValueError("Grade must be between 0 and 100.")

# Call the function to get the letter grade

letter_grade = get_letter_grade(number_grade)

# Print the letter grade

print(f"Your letter grade for {number_grade} is: {letter_grade}")

except ValueError as e:

print(f"Error: {e}")

if __name__ == "__main__":

main()

program2
M = int(input("Enter The Marks Of Maths(Out OF 100) "))

S = int(input("Enter The Marks Of Science(Out OF 100) "))

E = int(input("Enter The Marks Of English(Out OF 100) "))

TOT=M+S+E

print("Total Marks",TOT,sep=" ")

PER= (M+S+E)/3

print("Percentage",round(PER,2),sep=" ")

#Now I want The Below Code To Be Run Without The Use Of if_else

if(PER>50):

print("A")

elif(PER>0):
print("B")

elif(PER==0):

print("C")

while per > 50:

print("A")

break

is_a = PER > 50

is_b = PER <= 50 and PER > 0

is_c = PER == 0

# Assign key,val pairs to each grade

grade_values = {

is_a: "A",

is_b: "B",

is_c: "C",

# Since only one grade can evaluate to True, grade_values[True] will return the correct grade

grade = grade_values[True]

print(grade)

program 2
def get_letter_grade(numeric_grade):
if numeric_grade >= 90:

return 'A'

elif numeric_grade >= 80:

return 'B'

elif numeric_grade >= 70:

return 'C'

elif numeric_grade >= 60:

return 'D'

elif numeric_grade >= 50:

return 'Fail'

else:

return 'G'

def main():

try:

# Get user input

numeric_grade = float(input("Enter your numeric grade: "))

# Get the letter grade

letter_grade = get_letter_grade(numeric_grade)

# Print the letter grade

print(f"Your letter grade is: {letter_grade}")

except ValueError:

print("Please enter a valid number.")


if __name__ == "__main__":

main()

program 3
n=5

# Upper half of the butterfly

for i in range(1, n + 1):

for j in range(i):

print("*", end="")

for j in range(2 * (n - i)):

print(" ", end="")

for j in range(i):

print("*", end="")

print()

# Lower half of the butterfly

for i in range(n, 0, -1):

for j in range(i):

print("*", end="")

for j in range(2 * (n - i)):

print(" ", end="")

for j in range(i):

print("*", end="")
print()

for i in range(5):

for j in range(5):

print("*", end="")

print()

for i in range(5):

for j in range(i):

print(" ", end="")

for j in range(i, 5):

print("* ", end="")

print()

for i in range(5):

for j in range(5, i, -1):

print(" ", end="")

for k in range(i + 1):

print("* ", end="")

print()

n=5

# Upper half of the diamond


for i in range(n):

for j in range(n - 1, i, -1):

print(" ", end="")

for k in range(i + 1):

print("* ", end="")

print()

# Lower half of the diamond

for i in range(1, n):

for j in range(i):

print(" ", end="")

for k in range(n - 1, i - 1, -1):

print("* ", end="")

print()

n=5

for i in range(n):

for j in range(n):

if i == 0 or i == n - 1 or j == 0 or j == n - 1:

print("*", end="")

else:

print(" ", end="")

print()
program 4
# Python program to
# demonstrate stack implementation
# using list

stack = []

# append() function to push


# element in the stack
stack.append('a')
stack.append('b')
stack.append('c')

print('Initial stack')
print(stack)

# pop() function to pop


# element from stack in
# LIFO order
print('\nElements popped from stack:')
print(stack.pop())
print(stack.pop())
print(stack.pop())

print('\nStack after elements are popped:')


print(stack)

# uncommenting print(stack.pop())
# will cause an IndexError
# as the stack is now empty

queue = []

queue.append('a')

queue.append('b')

queue.append('c')

print("Initial queue")

print(queue)
print("\nElements dequeued from queue")

print(queue.pop(0))

print(queue.pop(0))

print(queue.pop(0))

print("\nQueue after removing elements")

print(queue)

You might also like