Table of Contents

Laboratorul 01. Introducere

Setup Python

Python este un limbaj de programare de nivel înalt, interpretat și versatil, ideal pentru o gamă largă de aplicații, oferind atât simplitate, cât și eficiență în dezvoltarea software. Unul dintre principalele avantaje ale Python este comunitatea sa, care contribuie la o colecție extinsă de biblioteci și framework-uri. Aceste resurse facilitează dezvoltarea rapidă a aplicațiilor în diverse domenii, precum:

Python poate fi descărcat și instalat de aici.

Odată instalat Python, pentru ușurință sugestia este să adăugați executabilul în path în variabile de mediu.

Mediu Virtual

În Python, venv este un modul integrat care permite crearea de medii virtuale — spații izolate în care se pot instala pachete Python fără a afecta setările globale ale sistemului. Acest lucru este util pentru gestionarea dependențelor în proiecte diferite și pentru evitarea conflictelor între versiuni de pachete.

Pentru a crea un mediu virtual pentru proiectul curent, într-un terminal se merge în folderul proiectului și se rulează comanda:

python3 -m venv virtual_environment_name

Pe urmă, acest mediu virtual trebuie activat:

source virtual_environment_name/bin/activate
virtual_environment_name\Scripts\activate

Pentru a dezactiva mediul virtual și a reveni la mediul global, se rulează comanda:

deactivate

Avantajele utilizării venv:

Biblioteci Utile

Pygame

Pygame este o bibliotecă open source pentru Python, concepută pentru dezvoltarea de jocuri video și aplicații multimedia.

Ce putem face cu Pygame:

Pentru a folosit Pygame, este necesar să importăm biblioteca în proiect:

python3 -m pip install pygame
import pygame

# Initialize Pygame
pygame.init()

# Set window properties
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Pygame Example')

# Set the drawing colors
white = (255, 255, 255)
red = (255, 0, 0)

# Set the coordinates and the dimensions of the square
x, y = 100, 100  # Upper-left corner
length = 50     # Length of the square

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Set background color
    screen.fill(white)

    # Draw a square
    pygame.draw.rect(screen, red, (x, y, length, length))

    # Update the screen
    pygame.display.flip()

Pillow

Pillow este o bibliotecă open source pentru Python, destinată procesării și manipulării imaginilor.

Ce putem face cu Pillow:

Pentru a folosit Pillow, este necesar să importăm biblioteca în proiect:

python3 -m pip install pillow
from PIL import Image

# Open image
image = Image.open('image.jpg')

# Resize image
resized_image = image.resize((800, 600))

# Save the resized image
resized_image.save('resized_image.jpg')

Tasks

Pentru a genera un număr random, folosiți biblioteca random.

  1. Generați un grid de culori alese aleator.
  2. Generați aleator o hartă 2D folosind simboluri (~ pentru apă, # pentru munți, . pentru câmpii). Folosiți probabilități pentru a asigna tipul de teren generat.
  3. Bonus 1. Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste.
  4. Bonus 2. Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG.