21 Game

def nearestMultipleTo4(num):

if num >= 4:

near = num + (4 - (num % 4))

else:

near = 4

return near

def lose1():

print ("\n\nYOU LOSE !")

print("Better luck next time !")

exit(0)

# checks the numbers are consecutive

def check(xyz):

i = 1

while i<len(xyz):

if (xyz[i]-xyz[i-1])!= 1:

return False

i = i + 1

return True

def start1():

xyz = []

last = 0

while True:

print ("Enter 'F' to take the first chance.")

print("Enter 'S' to take the second chance.")

chance = input('> ')

#First Player

if chance == "F":

while True:

if last == 20:

lose1()

else:

print ("\nYour Turn.")

print ("\nHow many numbers do you wish to enter?")

inp = int(input('> '))

if inp > 0 and inp <= 3:

comp = 4 - inp

else:

print ("Wrong input. You are disqualified from the game.")

lose1()

i, j = 1, 1

print ("Now enter the values")

while i <= inp:

a = input('> ')

a = int(a)

xyz.append(a)

i = i + 1

# store the last element of xyz.

last = xyz[-1]

# check numbers are consecutive

if check(xyz) == True:

if last == 21:

lose1()

else:

#"Computer's turn."

while j <= comp:

xyz.append(last + j)

j = j + 1

print ("Order of inputs after computer's turn is: ")

print (xyz)

last = xyz[-1]

else:

print ("\nYou did not input consecutive integers.")

lose1()

# player takes the second chance

elif chance == "S":

comp = 1

last = 0

while last < 20:

#"Computer's turn"

j = 1

while j <= comp:

xyz.append(last + j)

j = j + 1

print ("Order of inputs after computer's turn is:")

print (xyz)

if xyz[-1] == 20:

lose1()

else:

print ("\nYour turn.")

print ("\nHow many numbers do you wish to enter?")

inp = input('> ')

inp = int(inp)

i = 1

print ("Enter your values")

while i <= inp:

xyz.append(int(input('> ')))

i = i + 1

last = xyz[-1]

if check(xyz) == True:

# print (xyz)

near = nearestMultipleTo4(last)

comp = near - last

if comp == 4:

comp = 3

else:

comp = comp

else:

# if inputs are not consecutive

# automatically disqualified

print ("\nYou did not input consecutive integers.")

# print ("You are disqualified from the game.")

lose1()

print ("\n\nCONGRATULATIONS !!!")

print ("YOU WON !")

exit(0)

else:

print ("wrong choice")

game = True

while game == True:

print ("Player 2 is Computer.")

print("Do you want to play the 21 number game? (Yes / No)")

ans = input('> ')

if ans =='Yes':

start1()

else:

print ("Do you want quit the game?(yes / no)")

nex = input('> ')

if nex == "yes":

print ("You are quitting the game...")

exit(0)

elif nex == "no":

print ("Continuing...")

else:

print ("Wrong choice")


Screen Rotation Application

from tkinter import *

import rotatescreen

def Screen_rotate(temp):

screen = rotatescreen.get_primary_display()

if temp == "up":

screen.set_landscape()

elif temp == "right":

screen.set_portrait_flipped()

elif temp == "down":

screen.set_landscape_flipped()

elif temp == "left":

screen.set_portrait()

master = Tk()

master.geometry("100x100")

master.title("Screen Rotation")

master.configure(bg='light grey')

result = StringVar()

Button(master, text="Up", command=lambda: Screen_rotate(

"up"), bg="white").grid(row=0, column=3)

Button(master, text="Right", command=lambda: Screen_rotate(

"right"), bg="white").grid(row=1, column=6)

Button(master, text="Left", command=lambda: Screen_rotate(

"left"), bg="white").grid(row=1, column=2)

Button(master, text="Down", command=lambda: Screen_rotate(

"down"), bg="white").grid(row=3, column=3)

mainloop()


Application to Search Installed Application

from tkinter import *

import winapps

def app():

for item in winapps.search_installed(e.get()):

name.set(item.name)

version.set(item.version)

Install_date.set(item.install_date)

publisher.set(item.publisher)

uninstall_string.set(item.uninstall_string)

master = Tk()

master.configure(bg='light grey')

name = StringVar()

version = StringVar()

Install_date = StringVar()

publisher = StringVar()

uninstall_string = StringVar()

Label(master, text="Enter App name : ",

bg="light grey").grid(row=0, sticky=W)

Label(master, text="Name : ",

bg="light grey").grid(row=2, sticky=W)

Label(master, text="Version :",

bg="light grey").grid(row=3, sticky=W)

Label(master, text="Install date :",

bg="light grey").grid(row=4, sticky=W)

Label(master, text="publisher :",

bg="light grey").grid(row=5, sticky=W)

Label(master, text="Uninstall string :",

bg="light grey").grid(row=6, sticky=W)

Label(master, text="", textvariable=name,

bg="light grey").grid(row=2, column=1, sticky=W)

Label(master, text="", textvariable=version,

bg="light grey").grid(row=3, column=1, sticky=W)

Label(master, text="", textvariable=Install_date,

bg="light grey").grid(row=4, column=1, sticky=W)

Label(master, text="", textvariable=publisher,

bg="light grey").grid(row=5, column=1, sticky=W)

Label(master, text="", textvariable=uninstall_string,

bg="light grey").grid(row=6, column=1, sticky=W)

e = Entry(master, width=30)

e.grid(row=0, column=1)

b = Button(master, text="Show", command=app, bg="Blue")

b.grid(row=0, column=2, columnspan=2, rowspan=2, padx=5, pady=5,)

mainloop()


Generating prime numbers using the sieve of eratosthenes algorithm

def sieve_of_eratosthenes(n):

    primes = [True] * (n + 1)

    primes[0] = primes[1] = False


    for i in range(2, int(n ** 0.5) + 1):

        if primes[i]:

            for j in range(i ** 2, n + 1, i):

                primes[j] = False


    return [i for i in range(2, n + 1) if primes[i]]


# Example usage

n = 100

primes = sieve_of_eratosthenes(n)

print("The prime numbers up to", n, "are:", primes)

Sierpinski triangle fractal using turtle graphics

import turtle

def sierpinski(length, depth):

    if depth == 0:

        for i in range(3):

            turtle.forward(length)

            turtle.left(120)

    else:

        sierpinski(length / 2, depth - 1)

        turtle.forward(length / 2)

        sierpinski(length / 2, depth - 1)

        turtle.backward(length / 2)

        turtle.left(60)

        turtle.forward(length / 2)

        turtle.right(60)

        sierpinski(length / 2, depth - 1)

        turtle.left(60)

        turtle.backward(length / 2)

        turtle.right(60)

turtle.speed(0)

turtle.hideturtle()

turtle.penup()

turtle.goto(-200, -200)

turtle.pendown()

sierpinski(400, 5)

turtle.exitonclick()