1. To-Do List App (File Handling + OOP)
Ek simple CLI app jisme user tasks add/remove/mark complete kar sakta hai. Data ko tasks.txt file me save karein.
class TodoApp:
def __init__(self, filename="tasks.txt"):
self.filename = filename
def add_task(self, task):
with open(self.filename, "a") as f:
f.write(task + "\n")
def show_tasks(self):
with open(self.filename, "r") as f:
for i, line in enumerate(f, start=1):
print(f"{i}. {line.strip()}")
app = TodoApp()
app.add_task("Finish Python project")
app.show_tasks()
2. Weather Fetcher (API + JSON)
API requests ka use karke weather data fetch karein (OpenWeatherMap API). JSON parsing seekhenge.
import requests
API_KEY = "your_api_key_here"
city = "Delhi"
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric"
response = requests.get(url)
data = response.json()
print("Temperature:", data["main"]["temp"], "°C")
3. Multi-threaded Downloader
Ek program jo multiple files ek saath download kare using threading.
import threading, requests
def download_file(url, filename):
r = requests.get(url)
with open(filename, "wb") as f:
f.write(r.content)
print(f"Downloaded {filename}")
urls = [
("https://example.com/file1.jpg", "file1.jpg"),
("https://example.com/file2.jpg", "file2.jpg")
]
threads = []
for url, fname in urls:
t = threading.Thread(target=download_file, args=(url, fname))
threads.append(t)
t.start()
for t in threads:
t.join()
4. Simple Chatbot (Functions + Dictionaries)
Ek basic chatbot jo keyword matching use kare responses ke liye.
responses = {
"hi": "Hello! Kaise ho?",
"bye": "Goodbye! Fir milte hain.",
"python": "Python ek powerful programming language hai."
}
def chatbot():
while True:
msg = input("You: ").lower()
if msg == "exit":
break
print("Bot:", responses.get(msg, "Mujhe samajh nahi aaya."))
chatbot()
5. Expense Tracker (Modules + CSV)
Ek CLI app jo expenses ko CSV file me record kare aur monthly report generate kare.
import csv
from datetime import datetime
def add_expense(amount, category):
with open("expenses.csv", "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([datetime.now().date(), amount, category])
def view_expenses():
with open("expenses.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
add_expense(200, "Food")
view_expenses()
Next Steps
Ab aap in projects me aur features add karke practice kar sakte ho — jaise GUI (Tkinter), database (SQLite), ya Flask/Django se web app banana.