Featured Post

Step-by-Step Guide to Creating an AWS RDS Database Instance

Image
 Amazon Relational Database Service (AWS RDS) makes it easy to set up, operate, and scale a relational database in the cloud. Instead of managing servers, patching OS, and handling backups manually, AWS RDS takes care of the heavy lifting so you can focus on building applications and data pipelines. In this blog, we’ll walk through how to create an AWS RDS instance , key configuration choices, and best practices you should follow in real-world projects. What is AWS RDS? AWS RDS is a managed database service that supports popular relational engines such as: Amazon Aurora (MySQL / PostgreSQL compatible) MySQL PostgreSQL MariaDB Oracle SQL Server With RDS, AWS manages: Database provisioning Automated backups Software patching High availability (Multi-AZ) Monitoring and scaling Prerequisites Before creating an RDS instance, make sure you have: An active AWS account Proper IAM permissions (RDS, EC2, VPC) A basic understanding of: ...

10 Exclusive Python Projects for Interviews

Here are ten Python projects along with code and possible solutions for your practice.


10 top projects



01. Palindrome Checker:


Description: Write a function that checks if a given string is a palindrome (reads the same backward as forward).


def is_palindrome(s):
    s = s.lower().replace(" ", "")
    return s == s[::-1]

# Test the function
print(is_palindrome("radar"))  # Output: True
print(is_palindrome("hello"))  # Output: False


02. Word Frequency Counter:


Description: Create a program that takes a text file as input and counts the frequency of each word in the file.


def word_frequency(file_path):
    with open(file_path, 'r') as file:
        text = file.read().lower()
        words = text.split()
        word_count = {}
        for word in words:
            word_count[word] = word_count.get(word, 0) + 1
    return word_count

# Test the function
file_path = 'sample.txt'
word_count = word_frequency(file_path)
print(word_count)


03. Guess the Number Game:


Description: Develop a simple game where the computer randomly generates a number, and the user tries to guess it.

import random

def guess_the_number():
    target_number = random.randint(1, 100)
    attempts = 0
    while True:
        guess = int(input("Guess the number (1-100): "))
        attempts += 1
        if guess == target_number:
            print(f"Congratulations! You guessed the number in {attempts} attempts.")
            break
        elif guess < target_number:
            print("Try a higher number.")
        else:
            print("Try a lower number.")

# Test the game
guess_the_number()


04. Contact Book:


Description: Build a contact management application that allows users to add, view, search, and delete contacts.


class ContactBook:
    def __init__(self):
        self.contacts = {}
    
    def add_contact(self, name, phone):
        self.contacts[name] = phone
    
    def view_contacts(self):
        for name, phone in self.contacts.items():
            print(f"{name}: {phone}")
    
    def search_contact(self, name):
        if name in self.contacts:
            return self.contacts[name]
        else:
            return "Contact not found."
    
    def delete_contact(self, name):
        if name in self.contacts:
            del self.contacts[name]
            print(f"{name} has been deleted from contacts.")
        else:
            print(f"{name} not found in contacts.")

# Test the ContactBook class
contacts = ContactBook()
contacts.add_contact("John", "1234567890")
contacts.add_contact("Alice", "9876543210")
contacts.view_contacts()
print(contacts.search_contact("John"))
contacts.delete_contact("Alice")
contacts.view_contacts()


05. File Encryption/Decryption:


Description: Create a program that encrypts and decrypts a file using a simple encryption algorithm.


def encrypt_file(file_path):
    with open(file_path, 'r') as file:
        text = file.read()
        encrypted_text = ''.join(chr(ord(c) + 1) for c in text)
    with open(f'{file_path}.enc', 'w') as encrypted_file:
        encrypted_file.write(encrypted_text)

def decrypt_file(encrypted_file_path):
    with open(encrypted_file_path, 'r') as encrypted_file:
        encrypted_text = encrypted_file.read()
        decrypted_text = ''.join(chr(ord(c) - 1) for c in encrypted_text)
    with open(f'{encrypted_file_path[:-4]}.dec', 'w') as decrypted_file:
        decrypted_file.write(decrypted_text)

# Test the encryption and decryption functions
file_path = 'data.txt'
encrypt_file(file_path)
decrypt_file(f'{file_path}.enc')


06. Web Scraping and Data Visualization:


Description: Write a script that scrapes data from a website and creates visualizations using libraries like Matplotlib.
(Note: This project may require you to select a specific website for scraping and installing necessary libraries.)


# Example web scraping with BeautifulSoup:
import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# ... extract data from the website and create visualizations with Matplotlib or other libraries.


07. Rock, Paper, Scissors Game:



Description: Develop a command-line game where the user plays against the computer in the classic rock-paper-scissors.


import random

def rock_paper_scissors():
    choices = ["rock", "paper", "scissors"]
    computer_choice = random.choice(choices)
    user_choice = input("Enter your choice (rock/paper/scissors): ").lower()
    if user_choice not in choices:
        print("Invalid choice.")
    else:
        print(f"Computer chose: {computer_choice}")
        if user_choice == computer_choice:
            print("It's a tie!")
        elif (
            (user_choice == "rock" and computer_choice == "scissors") or
            (user_choice == "paper" and computer_choice == "rock") or
            (user_choice == "scissors" and computer_choice == "paper")
        ):
            print("You win!")
        else:
            print("Computer wins!")

# Test the game
rock_paper_scissors()


08. Weather Forecast Telegram Bot:


Description: Build a Telegram bot that provides weather forecasts for a given location using an API.
(Note: This project may require you to create a Telegram bot and obtain an API key for weather data.)


# Example Telegram bot using the 'python-telegram-bot' library:
from telegram import Update
from telegram.ext import Updater, CommandHandler

def start(update: Update, _) -> None:
    update.message.reply_text("Hello! I am your Weather Forecast Bot.")

def weather(update: Update, _) -> None:
    location = update.message.text.split()[1]
    # Fetch weather data using API and send the forecast back to the user.
    update.message.reply_text(f"Weather forecast for {location}: ...")

# Set up the bot and handlers
updater = Updater("YOUR_TELEGRAM_BOT_TOKEN", use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("weather", weather))

# Start the bot
updater.start_polling()
updater.idle()


09. URL Status Checker:

Description: Create a script that checks the status codes of a list of URLs to identify broken or inaccessible links.


import requests

def check_url_status(url_list):
    for url in url_list:
        try:
            response = requests.head(url)
            status_code = response.status_code
            if status_code == 200:
                print(f"{url} is accessible.")
            else:
                print(f"{url} is not accessible. Status code: {status_code}")
        except requests.exceptions.RequestException:
            print(f"{url} is not accessible.")

# Test the function
urls = ["https://example.com", "https://google.com", "https://nonexistent.com"]
check_url_status(urls)


10. Currency Exchange Rate Calculator:


Description: Write a program that fetches exchange rates from an API and calculates currency conversions.
(Note: This project may require you to choose a specific currency exchange rate API.)

import requests

def get_exchange_rate(base_currency, target_currency):
    url = f'https://api.example.com/rates?base={base_currency}&symbols={target_currency}'
    response = requests.get(url)
    data = response.json()
    return data['rates'][target_currency]

def currency_converter(amount, base_currency, target_currency):
    exchange_rate = get_exchange_rate(base_currency, target_currency)
    converted_amount = amount * exchange_rate
    return converted_amount

# Test the currency_converter function
amount = 100
base_currency = 'USD'
target_currency = 'EUR'
converted_amount = currency_converter(amount, base_currency, target_currency)
print(f"{amount} {base_currency} is equal to {converted_amount:.2f} {target_currency}")


Remember to install any required libraries (e.g., BeautifulSoup, python-telegram-bot) using pip before running the scripts. Happy coding!

Comments