Oled õppinud Pythoni põhitõed ja nüüd otsid projekte, millega oma oskusi proovile panna? Praktilised projektid on parim viis programmeerimise õppimiseks. Siin on viis põnevat projekti, mida iga Pythoni algaja võiks proovida.

1. Arva ära number

See on klassikaline projekt algajatele, mis õpetab tingimuslausete, juhuslikkuse ja kasutaja sisendi käsitlemist.

Projekti kirjeldus:

  • Programm genereerib juhusliku numbri (näiteks 1-100)
  • Kasutaja peab numbri ära arvama
  • Programm annab vihjeid, kas pakutud number on liiga suur või väike
  • Kui kasutaja arvab õige numbri ära, näitab programm, mitu katset läks

See projekt õpetab:

  • Kasutaja sisendi töötlemist
  • Tingimuslausete kasutamist
  • Juhuslike arvude genereerimist (random moodul)
  • Tsüklite kasutamist

Näide koodist:


import random

# Genereeri juhuslik number 1-100
saladus = random.randint(1, 100)
katseid = 0
arvatud = False

print("Arva ära number 1-100!")

# Mängu tsükkel
while not arvatud:
    # Suurenda katsete arvu
    katseid += 1
    
    # Küsi kasutajalt pakkumist
    pakkumine = int(input("Sinu pakkumine: "))
    
    # Kontrolli pakkumist
    if pakkumine < saladus:
        print("Liiga väike!")
    elif pakkumine > saladus:
        print("Liiga suur!")
    else:
        arvatud = True
        print(f"Õige! Arvasid ära {katseid} katsega.")
                

2. To-Do List rakendus

To-Do List on praktiline projekt, mis õpetab andmete salvestamist ja haldamist. See on kasulik tööriist, mida võid ka ise igapäevaselt kasutada.

Projekti kirjeldus:

  • Kasutaja saab ülesandeid lisada
  • Kasutaja saab ülesandeid märkida tehtuks
  • Kasutaja saab ülesandeid kustutada
  • Ülesanded salvestatakse failina, et need säiliksid ka pärast programmi sulgemist

See projekt õpetab:

  • Andmestruktuuride (nagu listid ja sõnastikud) kasutamist
  • Failide lugemist ja kirjutamist
  • Funktsioonide loomist
  • Kasutajaliidese disainimist

Alguses võid teha lihtsa käsurea rakenduse. Hiljem võid lisada graafilise kasutajaliidese, kasutades näiteks Tkinter teeki.

3. Ilmateate rakendus

Selle projekti käigus lood rakenduse, mis näitab ilmainfot kasutaja valitud asukoha kohta. See on suurepärane viis õppida, kuidas kasutada väliseid API-sid.

Projekti kirjeldus:

  • Kasutaja sisestab linna nime
  • Programm teeb päringu ilma API-le (nt OpenWeatherMap)
  • Programm kuvab praeguse temperatuuri, ilma kirjelduse, õhuniiskuse jms

See projekt õpetab:

  • API-de kasutamist
  • HTTP päringute tegemist (requests teek)
  • JSON andmete töötlemist
  • Veatöötlust (mis juhtub, kui linna ei leita või internetiühendus puudub)

See projekt on suurepärane, sest see õpetab, kuidas luua rakendusi, mis suhtlevad välismaailmaga, mis on enamiku tänapäevaste rakenduste oluline osa.

4. Pildimanipulatsiooni tööriist

Pythonis on võimas teek nimega Pillow (PIL), mis võimaldab pilte töödelda. Selle projektiga saad õppida, kuidas pilte avada, muuta ja salvestada.

Projekti kirjeldus:

  • Programm avab pildi
  • Kasutaja saab valida erinevaid efekte (must-valge, pööramine, suuruse muutmine jms)
  • Programm salvestab muudetud pildi

See projekt õpetab:

  • Piltide töötlemist Pythonis
  • Pillow teegi kasutamist
  • Failide töötlemist
  • Kasutajaliidese disainimist (kui lisad graafilise kasutajaliidese)

See on visuaalselt rahuldust pakkuv projekt, kus näed kohe oma koodi tulemusi.

5. Lihtne veebikraaper

Veebikraapimise eesmärk on automaatselt koguda andmeid veebilehtedelt. See on kasulik oskus, eriti kui oled huvitatud andmeanalüüsist.

Projekti kirjeldus:

  • Programm külastab veebilehte (nt uudisteportaali)
  • Programm eraldab pealkirjad ja/või artiklite lingid
  • Programm salvestab andmed failina (nt CSV)

See projekt õpetab:

  • Veebilehtede töötlemist Pythonis (requests ja BeautifulSoup teegid)
  • HTML struktuuri mõistmist
  • Andmete struktureerimist ja salvestamist

Näide koodist:


import requests
from bs4 import BeautifulSoup
import csv

# URL, mida kraapida
url = "https://www.näide.ee/uudised"

# Tee HTTP päring
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# Leia kõik uudiste pealkirjad (sõltub veebilehe struktuurist)
pealkirjad = soup.find_all('h2', class_='pealkiri')

# Salvesta andmed CSV faili
with open('uudised.csv', 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['Pealkiri', 'Link'])
    
    for pealkiri in pealkirjad:
        link = pealkiri.find('a')
        if link:
            writer.writerow([pealkiri.text.strip(), link.get('href')])
                

NB! Veebikraapimisel järgi alati veebilehe kasutustingimusi ja ole eetiline. Mõned veebilehed keelavad automaatse andmete kogumise.

Kokkuvõte

Need viis projekti annavad sulle hea aluse Pythoni oskuste arendamiseks. Nad katavad erinevaid programmeerimise aspekte ja teeke, mis on Pythoni ökosüsteemis olulised.

Lõpuks, ära unusta, et programmeerimine on praktiline oskus. Mida rohkem projekte teed, seda paremaks saad. Ära karda teha vigu – need on õppimise olulised osad. Ja mis kõige tähtsam, naudi protsessi!

Jaga: