Solve Problems by Coding Solutions - A Complete solution for python programming
TIOBE Index for January 2023
Image Viewer
from tkinter import *
from PIL import ImageTk, Image
def forward(img_no):
global label
global button_forward
global button_back
global button_exit
label.grid_forget()
label = Label(image=List_images[img_no-1])
label.grid(row=1, column=0, columnspan=3)
button_for = Button(root, text="forward",
command=lambda: forward(img_no+1))
if img_no == 4:
button_forward = Button(root, text="Forward",
state=DISABLED)
button_back = Button(root, text="Back",
command=lambda: back(img_no-1))
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_for.grid(row=5, column=2)
def back(img_no):
global label
global button_forward
global button_back
global button_exit
label.grid_forget()
label = Label(image=List_images[img_no - 1])
label.grid(row=1, column=0, columnspan=3)
button_forward = Button(root, text="forward",
command=lambda: forward(img_no + 1))
button_back = Button(root, text="Back",
command=lambda: back(img_no - 1))
print(img_no)
if img_no == 1:
button_back = Button(root, Text="Back", state=DISABLED)
label.grid(row=1, column=0, columnspan=3)
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_for.grid(row=5, column=2)
root = Tk()
root.title("Image Viewer")
root.geometry("700x700")
image_no_1 = ImageTk.PhotoImage(Image.open("sample.jpg"))
image_no_2 = ImageTk.PhotoImage(Image.open("sample.jpg"))
image_no_3 = ImageTk.PhotoImage(Image.open("sample.jpg"))
image_no_4 = ImageTk.PhotoImage(Image.open("sample.jpg"))
List_images = [image_no_1, image_no_2, image_no_3, image_no_4]
label = Label(image=image_no_1)
label.grid(row=1, column=0, columnspan=3)
button_back = Button(root, text="Back", command=back,
state=DISABLED)
button_exit = Button(root, text="Exit",
command=root.quit)
button_forward = Button(root, text="Forward",
command=lambda: forward(1))
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_forward.grid(row=5, column=2)
root.mainloop()
Voice Recorder
import sounddevice as sd
from scipy.io.wavfile import write
import wavio as wv
freq = 44100
duration = 5
recording = sd.rec(int(duration * freq),
samplerate=freq, channels=2)
sd.wait()
write("recording0.wav", freq, recording)
wv.write("recording1.wav", recording, freq, sampwidth=2)
Percentage Finder
from tkinter import *
def getPercentage() :
students= int(total_participantField.get())
rank = int(rankField.get())
result = round((students - rank) / students * 100,3);
percentageField.insert(10, str(result))
def Clear():
rankField.delete(0, END)
total_participantField.delete(0, END)
percentageField.delete(0, END)
if __name__ == "__main__" :
gui = Tk()
gui.configure(background = "light pink")
gui.title("Rank Based- percentage Calculator")
gui.geometry("650x200")
rank = Label(gui, text = "Rank", bg = "light green")
andl = Label(gui, text = "And", bg = "light green")
total_participant = Label(gui,
text = "Total Participants",
bg = "light green")
find = Button(gui, text = "Find percentage",
fg = "Black", bg = "Red",
command = getPercentage)
percentage = Label(gui, text = "percentage", bg = "light green")
clear = Button(gui, text = "Clear",
fg = "Black", bg = "Red",
command = Clear)
rank.grid(row = 1, column = 1,padx = 10)
andl.grid(row = 1, column = 4)
total_participant.grid(row = 1, column = 6, padx = 10)
find.grid(row = 3, column = 4,pady = 10)
percentage.grid(row = 4, column = 3,padx = 10)
clear.grid(row = 5, column = 4,pady = 10)
rankField = Entry(gui)
total_participantField = Entry(gui)
percentageField = Entry(gui)
rankField.grid(row = 1, column = 2)
total_participantField.grid(row = 1, column = 7)
percentageField.grid(row = 4, column = 4)
gui.mainloop()
Tree using python turtle
from turtle import *
speed('fastest')
# turning the turtle to face upwards
rt(-90)
# the base and branch of the Y
angle = 30
# function to plot a Y
def y(sz, level):
if level > 0:
colormode(255)
pencolor(0, 255//level, 0)
fd(sz)
rt(angle)
# recursive call
y(0.8 * sz, level-1)
pencolor(0, 255//level, 0)
lt( 2 * angle )
y(0.8 * sz, level-1)
pencolor(0, 255//level, 0)
rt(angle)
fd(-sz)
y(80, 7)