0% found this document useful (0 votes)
106 views

Python Projects

The document describes a series of coding projects completed over several days. It includes: 1) A treasure island game with different paths and outcomes depending on the user's choices. 2) A rock paper scissors game against a computer opponent. 3) A password generator that allows the user to specify the number and types of characters in the password. 4) Additional coding projects include a robot pathfinder, hangman game, Caesar cipher, and number guessing game.

Uploaded by

Hari haran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views

Python Projects

The document describes a series of coding projects completed over several days. It includes: 1) A treasure island game with different paths and outcomes depending on the user's choices. 2) A rock paper scissors game against a computer opponent. 3) A password generator that allows the user to specify the number and types of characters in the password. 4) Additional coding projects include a robot pathfinder, hangman game, Caesar cipher, and number guessing game.

Uploaded by

Hari haran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Day -3 Project:

print('''
***********************************************************************
********
||||
_________|________________.=""_;=.______________|_____________________|
_______
| | ,-"_,="" `"=.| |
|___________________|__"=._o`"-._ `"=.______________|___________________
| `"=._o`"=._ _`"=._ |
_________|_____________________:=._o "=._."_.-="'"=.__________________|
_______
| | __.--" , ; `"=._o." ,-"""-._ ". |
|___________________|_._" ,. .` ` `` , `"-._"-._ ". '__|___________________
| |o`"=._` , "` `; .". , "-._"-._; ; |
_________|___________| ;`-.o`"=._; ." ` '`."\` . "-._ /_______________|_______
| | |o; `"-.o`"=._`` '` " ,__.--o; |
|___________________|_| ; (#) `-.o `"=.`_.--"_o.-; ;___|___________________
____/______/______/___|o;._ " `".o|o_.--" ;o;____/______/______/____
/______/______/______/_"=._o--._ ; | ; ; ;/______/______/______/_
____/______/______/______/__"=._o--._ ;o|o; _._;o;____/______/______/____
/______/______/______/______/____"=._o._; | ;_.--"o.--"_/______/______/______/_
____/______/______/______/______/_____"=.o|o_.--""___/______/______/______/
____
/______/______/______/______/______/______/______/______/______/______/_____
/
***********************************************************************
********
''')
print("Welcome to Treasure Island.")
print("Your mission is to find the treasure.")
way=input("Which way does you want to go? left or right:")
if way=="left":
wait=input("You swim or wait for boat ? s,w")
if wait=="w":
door=input("which do want to choose ?:red ,blue or yellow")
if door=="red":
print("Burned bny a fire Game Over")
if door=="blue":
print("Eaten by a Beast Game Over")
else:
print("***YOU WIN***")
else:
print("You Dead Game Over")
else:
print("Fall into the Hole Game Over")

Flow chart:
Day-4: Stone , Paper , Scissors ,Game:

import random
rock = '''
_______
---' ____)
(_____)
(_____)
(____)
---.__(___)
'''
paper = '''
_______
---' ____)____
______)
_______)
_______)
---.__________)
'''

scissors = '''
_______
---' ____)____
______)
__________)
(____)
---.__(___)
'''
game_image=[rock,paper,scissors]
user_choice=int(input(" What is your choice ? : type 0
for rock , type for paper , and type 2 for scissors : "))
if user_choice >3 or user_choice<0:
print("😰**You type the invalid Number**😰 ,'GAME
OVER'")
else:
print(game_image[user_choice])
computer_choice = random.randint(0,2)
print("computer choice")
print(game_image[computer_choice])
if user_choice == 0 and computer_choice == 2:
print("😉**You win**😉")
elif user_choice == 2 and computer_choice == 0:
print("😞**You lose**😞")
elif user_choice < computer_choice:
print("😞**You lose**😞")
elif user_choice>computer_choice:
print("😉**You win**😉")
elif user_choice == computer_choice:
print("😇**Its Draw**😇")

Day:5 - Password Generator Project

import random
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B',
'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")


nr_letters= int(input("How many letters would you like
in your password?\n"))
nr_symbols = int(input(f"How many symbols would you
like?\n"))
nr_numbers = int(input(f"How many numbers would you
like?\n"))
password =[]
for char in range (1,nr_letters + 1):
random_char=random.choice(letters)
password +=random_char

for chars in range (1,nr_symbols+1):


random_char=random.choice(symbols)
password +=random_char

for chars in range (1,nr_numbers+1):


random_char=random.choice(numbers)
password +=random_char
random.shuffle(password)
new_password = ""
for char1 in password:
new_password += char1
print(f"Your Passwor is:{new_password}")

Day-6: Robot Correct path

def turn_right():
turn_left()
turn_left()
turn_left()

while not at_goal():


if right_is_clear():
turn_right()
move()
elif front_is_clear():
move()
else:
turn_left()

Day-7:Hangman Game
from replit import clear
import random

from hangman_words import word_list


chosen_word = random.choice(word_list)
word_length = len(chosen_word)

end_of_game = False
lives = 6

from hangman_art import logo


print(logo)

#Testing code
print(f'Pssst, the solution is {chosen_word}.')

#Create blanks
display = []
for _ in range(word_length):
display += "_"

while not end_of_game:


guess = input("Guess a letter: ").lower()

clear()

if guess in display:
print(f"You've already guessed {guess}")
for position in range(word_length):
letter = chosen_word[position]
#print(f"Current position: {position}\n Current letter:
{letter}\n Guessed letter: {guess}")
if letter == guess:
display[position] = letter
print

#Check if user is wrong.


if guess not in chosen_word:
print(f"You guessed {guess}, that's not in the word. You
lose a life.")

lives -= 1
if lives == 0:
end_of_game = True
print("You lose.")

print(f"{' '.join(display)}")

if "_" not in display:


end_of_game = True
print("You win.")

from hangman_art import stages


print(stages[lives])
Day : 8 – caesar cipher:

from art import logo


print(logo)
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c',
'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
't', 'u', 'v', 'w', 'x', 'y', 'z']
def caesar(start_text, shift_amount, cipher_direction):

end_text = ""
if cipher_direction == "decode":
shift_amount *= -1
for char in start_text:
if char in alphabet:
position = alphabet.index(char)
new_position = position + shift_amount
end_text += alphabet[new_position]
else:
end_text += char

print(f"Here's the {cipher_direction}d result: {end_text}")

should_continue = True
while should_continue :
direction = input("Type 'encode' to encrypt, type 'decode'
to decrypt:\n")
text = input("Type your message:\n").lower()
shift = int(input("Type the shift number:\n"))
shift = shift%26
caesar(start_text=text, shift_amount=shift,
cipher_direction=direction)
exit_continue = input("Type 'yes' if you want to go
again. Otherwise type 'no'").lower()

if exit_continue == "no":
should_continue = False
print("👋 Good Bye 👋")

Day - 9 secret Bids :

Flow chart:
from replit import clear
from art import logo
print(logo)

bids = {}
bidding_finished = False

def find_highest_bidder(bidding_record):
highest_bid = 0
winner = ""
for bidder in bidding_record:
bid_amount = bidding_record[bidder]
if bid_amount > highest_bid:
highest_bid = bid_amount
winner = bidder
print(f"The winner is {winner} with a bid of $
{highest_bid}")

while not bidding_finished:


name = input("What is your name?: ")
price = int(input("What is your bid?: $"))
bids[name] = price
should_continue = input("Are there any other bidders?
Type 'yes or 'no'.\n")
if should_continue == "no":
bidding_finished = True
find_highest_bidder(bids)
elif should_continue == "yes":
clear()
Day : 10 – Calculator:
from art import logo
from replit import clear

#calculator
#add
def add(n1,n2):
return n1 + n2
def sub(n1,n2):
return n1-n2
def mul (n1,n2):
return n1*n2
def div(n1,n2):
return n1/n2

dic = {
"+": add,
"-": sub,
"*": mul,
"/": div
}
def calculator():
print(logo)
num1 = float(input("Enter the First Number : "))

for operation in dic:


print(operation)
a = True
while a :
operation_symbols = input("Select Which Operation Does
You Needed : ")
num2 = float(input("Enter the second Number : "))
calculation_function = dic[operation_symbols]
answer = calculation_function (num1,num2)

print(f"{num1} {operation_symbols} {num2} : {answer}")


continue_cal = input(f"Type 'y' to continue_calculation
with {answer} or Type 'n' for new Calculator or Type 0
for exit:").lower()
if continue_cal == "y":
num1 = answer
elif continue_cal == "n" :
clear()
calculator()
else:
a = False
print(f"{num1} {operation_symbols} {num2} : {answer}")

print("Good Bye")
calculator()

Day- 12 Number Guessing Project :

from random import randint


from art import logo

EASY_LEVEL_TURNS = 10
HARD_LEVEL_TURNS = 5

#Function to check user's guess against actual answer.


def check_answer(guess, answer, turns):

"""checks answer against guess. Returns the number of turns remaining."""

if guess > answer:


print("Too high.")
return turns - 1
elif guess < answer:
print("Too low.")
return turns - 1
else:
print(f"You got it! The answer was {answer}.")

#Make function to set difficulty.

def set_difficulty():
level = input("Choose a difficulty. Type 'easy' or 'hard': ")
if level == "easy":
return EASY_LEVEL_TURNS
else:
return HARD_LEVEL_TURNS

def game():
print(logo)

#Choosing a random number between 1 and 100.

print("Welcome to the Number Guessing Game!")


print("I'm thinking of a number between 1 and 100.")
answer = randint(1, 100)
print(f"Pssst, the correct answer is {answer}")

turns = set_difficulty()

#Repeat the guessing functionality if they get it wrong.

guess = 0
while guess != answer:
print(f"You have {turns} attempts remaining to guess the number.")

#Let the user guess a number.

guess = int(input("Make a guess: "))

#Track the number of turns and reduce by 1 if they get it wrong.

turns = check_answer(guess, answer, turns)


if turns == 0:
print("You've run out of guesses, you lose.")
return
elif guess != answer:
print("Guess again.")

game()

Day – 18 Hirst Painting:


# import colorgram
#
# rgb_color = []
#
# colors = colorgram.extract('Hirst-painting.jpg', 30)
# for color in colors:
# r = color.rgb.r
# g = color.rgb.g
# b = color.rgb.b
# new_Color = (r, g, b)
# rgb_color.append(new_Color)
#
# print(rgb_color)
import turtle
import turtle as turtle_module
import random

turtle_module.colormode(255)
tim = turtle_module .Turtle()
tim.penup()
tim.hideturtle()
color_list = [(1, 9, 29), (122, 95, 41), (238, 211, 73),
(77, 34, 23), (221, 80, 59), (225, 117, 100), (92, 1, 21),
(179, 139, 170), (151, 92, 116), (35, 90, 26), (8, 154,
72), (205, 64, 92), (220, 177, 219), (167, 129, 75), (1,
63, 146), (3, 80, 30), (4, 220, 217), (80, 134, 178), (77,
115, 147), (129, 157, 178), (123, 185, 166), (124, 8, 30),
(12, 213, 221), (245, 203, 5), (134, 221, 207), (229, 174,
167)]
tim.setheading(225)
tim.forward(300)
tim.setheading(0)
number_of_dots = 100

for dots_count in range(1, number_of_dots + 1):


tim.dot(20, random.choice(color_list))
tim.forward(50)

if dots_count % 10 == 0:
tim.setheading(90)
tim.forward(50)
tim.setheading(180)
tim.forward(500)
tim.setheading(0)

screen = turtle_module.Screen()
screen.exitonclick()

Day-19 “Turtle Race”:


from turtle import Turtle, Screen
import random

is_on = False

screen = Screen()
screen.setup(width=500, height=400)
user_bets = screen.textinput(title="Make Your bet",
prompt="Which Turtle Will WIN the race? Enter The
color: ")
colors = ["red", "black", "green", "blue", "orange",
"pink"]
y_position = [-70, -40, -10, 20, 50, 80]
all_turtle = []
for _ in range(0, 6):
new_turtle = Turtle(shape="turtle")
new_turtle.color(colors[_])
new_turtle.penup()
new_turtle.goto(x=-230, y=y_position[_])
all_turtle.append(new_turtle)
if user_bets:
is_on = True
while is_on:
for turtle in all_turtle:
if turtle.xcor() >= 230:
is_on = False
winning_color = turtle.pencolor()
if winning_color == user_bets:
print(f" You WIN. he {winning_color}
turtle is the winner!")
else:
print(f"You've lost! The {winning_color}
turtle is the winner!")
rand_distance = random.randint(0, 10)
turtle.forward(rand_distance)

screen.exitonclick()

Day 20-21 : Snake Game :

main.py
# Step To tactile Snake Game:

# 1. Create A snake Box


# 2. Move The Snake
# 3.Create A Snake Food
# 4.Detect The collision with the food
# 5.Create A scoreboard
# 6.Detect the collision in the Wall
# 7.Detect the collision in the Tails

from turtle import Screen


import time
from snake import Snake
from food import Food
from scoreboard import Scoreboard

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("My Snake Game")
screen.tracer(0)

snake = Snake()
food = Food()
scoreboard = Scoreboard()

screen.listen()
screen.onkey(snake.up, "Up")
screen.onkey(snake.down, "Down")
screen.onkey(snake.left, "Left")
screen.onkey(snake.right, "Right")

game_is_on = True

while game_is_on:
screen.update()
time.sleep(0.1)
snake.move()

# Detect collision with the Food.


if snake.head.distance(food) < 20:
food.refresh()
snake.extend()
scoreboard.increase_score()

# Detect collision with the Wall.


if snake.head.xcor() > 280 or snake.head.xcor() < -
280 or snake.head.ycor() > 280 or snake.head.ycor() < -
280:
game_is_on = False
scoreboard.gameover()

for segment in snake.segements[1:]:


if snake.head.distance(segment) < 10 :
game_is_on = False
scoreboard.gameover()

screen.exitonclick()

from turtle import Turtle


import random

class Food(Turtle):
def __init__(self):
super().__init__()
self.shape("circle")
self.color("blue")
self.penup()
self.speed("fastest")
self.shapesize(stretch_wid=0.5, stretch_len=0.5)
random_x = random.randint(-280, 280)
random_y = random.randint(-280, 280)
self.goto(x=random_x, y=random_y)

snake.py:
from turtle import Turtle

STARTING_POSITION = [(0, 0), (-20, 0), (-40, 0)]


MOVE_DISTANCE = 20
UP = 90
DOWN = 270
LEFT = 180
RIGHT = 0

class Snake:
def __init__(self):
self.segements = []
self.create_snake()
self.head = self.segements[0]

def create_snake(self):
for position in STARTING_POSITION:
self.add_segment(position)

def add_segment(self, position):


new_segment = Turtle("square")
new_segment.color("white")
new_segment.penup()
new_segment.goto(position)
self.segements.append(new_segment)

# add a element to snake


def extend(self):
self.add_segment(self.segements[-1].position())

def move(self):
# Start = (len(segments)-1)
# stop = 0
# step = -1

for seg_num in range(len(self.segements) - 1, 0, -


1):
new_x = self.segements[seg_num - 1].xcor()
new_y = self.segements[seg_num - 1].ycor()
self.segements[seg_num].goto(new_x, new_y)
self.head.forward(MOVE_DISTANCE)

def up(self):
if self.head.heading() != DOWN:
self.head.setheading(UP)

def down(self):
if self.head.heading() != UP:
self.head.setheading(DOWN)

def left(self):
if self.head.heading() != RIGHT:
self.head.setheading(LEFT)

def right(self):
if self.head.heading() != LEFT:
self.head.setheading(RIGHT)

Food.py:
from turtle import Turtle
import random

class Food(Turtle):
def __init__(self):
super().__init__()
self.shape("circle")
self.penup()
self.shapesize(stretch_len=0.5, stretch_wid=0.5)
self.color("blue")
self.speed("fastest")
self.refresh()

def refresh(self):
random_x = random.randint(-280, 280)
random_y = random.randint(-280, 280)
self.goto(random_x, random_y)

Score_Board.py:
from turtle import Turtle

ALIGNMENT = "center"
FONTS = ("Arial", 24, "normal")

class Scoreboard(Turtle):

def __init__(self):
super().__init__()
self.score = 0
self.color("white")
self.penup()
self.goto(0, 260)
self.hideturtle()
self.update_scoreboard()

def update_scoreboard(self):
self.write(f"Score : {self.score}",
align=ALIGNMENT, font=FONTS)

def increase_score(self):
self.clear()
self.score += 1
self.update_scoreboard()

def gameover(self):
self.goto(0, 0)
self.write("Game Over", align=ALIGNMENT,
font=FONTS)

You might also like