Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gp:laboratoare:01 [2025/02/05 10:16]
maria_anca.balutoiu [Setup Python]
gp:laboratoare:01 [2025/02/05 12:59] (current)
maria_anca.balutoiu [Tasks]
Line 7: Line 7:
   * **Automatizare și scripting.** Python este adesea utilizat pentru automatizarea sarcinilor repetitive.   * **Automatizare și scripting.** Python este adesea utilizat pentru automatizarea sarcinilor repetitive.
  
-<​hidden>​ +Python poate fi descărcat și instalat ​de [[https://​www.python.org/​|aici]].
- +
- +
- +
-Sintaxa sa intuitivă și structura clară a codului încurajează bunele practici ​de programare și îmbunătățesc lizibilitatea,​ facilitând colaborarea între dezvoltatoriDe asemenea, Python este portabil și poate rula pe majoritatea platformelor,​ inclusiv Windows, macOS și Linux.+
  
 +<note important>​Odată instalat Python, pentru ușurință sugestia este să adăugați executabilul în path în variabile de mediu.</​note>​
  
 ==== Mediu Virtual ==== ==== Mediu Virtual ====
-În Python, venv este un modul integrat care permite crearea de medii virtuale — spații izolate în care puteți ​instala pachete Python fără a afecta ​instalările globale ale sistemului. Acest lucru este util pentru gestionarea dependențelor în proiecte diferite și pentru evitarea conflictelor între versiuni de pachete. ​ +Î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.
-DOCS.PYTHON.ORG+
  
-Crearea unui mediu virtual:+Pentru a crea un mediu virtual ​pentru proiectul curent, într-un terminal se merge în folderul proiectului și se rulează comanda:
  
-Deschideți terminalul sau linia de comandă.+<​code>​ 
 +python3 -m venv virtual_environment_name 
 +</​code>​
  
-Navigați la directorul proiectului dvs.+Pe urmă, acest mediu virtual trebuie activat: 
 +  * Pe Unix/​macOS:​ 
 +<​code>​ 
 +source virtual_environment_name/​bin/​activate 
 +</​code>​ 
 +  * Pe Windows: 
 +<​code>​ 
 +virtual_environment_name\Scripts\activate 
 +</​code>​
  
-Rulați comanda: +Pentru a dezactiva mediul virtual și a reveni la mediul global, ​se rulează ​comanda: 
- +<​code>​
-Pentru Python 3: +
- +
-bash +
-Copiază +
-Editează +
-python3 -m venv nume_medii_virtual +
-Pentru Windows: +
- +
-bash +
-Copiază +
-Editează +
-py -m venv nume_medii_virtual +
-Înlocuiți nume_medii_virtual cu numele dorit pentru mediul dvs. virtual.  +
-PACKAGING.PYTHON.ORG +
- +
-Activarea mediului virtual: +
- +
-Pe Unix/​macOS:​ +
- +
-bash +
-Copiază +
-Editează +
-source nume_medii_virtual/​bin/​activate +
-Pe Windows: +
- +
-bash +
-Copiază +
-Editează +
-nume_medii_virtual\Scripts\activate +
-După activare, promptul liniei de comandă ar trebui să afișeze numele mediului virtual, indicând că acesta este activ.  +
-PACKAGING.PYTHON.ORG +
- +
-Dezactivarea mediului virtual: +
- +
-Pentru a dezactiva mediul virtual și a reveni la mediul global, ​rulați ​comanda: +
- +
-bash +
-Copiază +
-Editează+
 deactivate deactivate
-Avantajele utilizării venv:+</​code>​
  
-Izolare: Fiecare mediu virtual are propriul set de pachete, prevenind conflictele între proiecte. +Avantajele utilizării **venv**: 
-Gestionarea dependențelorPermite instalarea versiunilor specifice ale pachetelor necesare pentru un proiect, fără a interfera cu alte proiecte. +  * **Izolare.** ​Fiecare mediu virtual are propriul set de pachete, prevenind conflictele între proiecte 
-PortabilitateFacilitează replicarea mediului de dezvoltare pe alte sisteme, asigurând consistența între diferite medii de lucru. +  * **Gestionarea dependențelor.** Permite instalarea versiunilor specifice ale pachetelor necesare pentru un proiect, fără a interfera cu alte proiecte 
-Utilizarea mediilor virtuale este o practică esențială în dezvoltarea Python, asigurând un control mai bun asupra dependențelor și a configurațiilor proiectelor. +  * **Portabilitate.** Facilitează replicarea mediului de dezvoltare pe alte sisteme, asigurând consistența între diferite medii de lucru.
-</​hidden>​+
 ==== Biblioteci Utile ==== ==== Biblioteci Utile ====
-<​hidden>​ 
 === Pygame === === Pygame ===
-Pygame este o bibliotecă open-source pentru Python, concepută pentru dezvoltarea de jocuri video și aplicații multimedia. ​Aceasta oferă module pentru gestionarea graficii, sunetului și interacțiunii cu utilizatorul,​ facilitând crearea de jocuri 2D și alte aplicații interactive.  +Pygame este o bibliotecă open source pentru Python, concepută pentru dezvoltarea de jocuri video și aplicații multimedia.
-PYGAME.READTHEDOCS.IO+
  
-Istoric ​și Dezvoltare:+Ce putem face cu Pygame: 
 +  * **Grafică.** Pygame permite desenarea de forme, imagini ​și animații, oferind suport pentru manipularea pixelilor și transformări grafice. 
 +  * **Sunet.** Biblioteca include funcționalități pentru redarea și controlul sunetelor și muzicii, permițând integrarea efectelor sonore și a coloanelor sonore în aplicații. 
 +  * **Evenimente și Interacțiune.** Gestionarea intrărilor de la tastatură, mouse și alte dispozitive de interacțiune este simplificată,​ facilitând crearea de interfețe interactive. 
 +  * **Gestionarea Sprite-urilor.** Pygame oferă suport pentru gestionarea sprite-urilor și a coliziunilor,​ esențiale în dezvoltarea jocurilor.
  
-Lansată inițial în octombrie 2000, Pygame ​fost creată pentru a înlocui proiectul PySDL, al cărui dezvoltare stagnase. De-a lungul anilor, ​Pygame ​a evoluat semnificativiar în octombrie 2020, cu ocazia celei de-a 20-a aniversări, a fost lansată versiunea 2.0, aducând îmbunătățiri notabile și suport extins pentru diverse platforme.  +Pentru ​folosit ​Pygame, ​este necesar să importăm biblioteca în proiect:
-EN.WIKIPEDIA.ORG+
  
-Caracteristici Cheie:+<​code>​ 
 +python3 -m pip install pygame 
 +</​code>​
  
-Grafică: Pygame permite desenarea de forme, imagini și animații, oferind suport pentru manipularea pixelilor și transformări grafice.+<​code>​ 
 +import pygame
  
-Sunet: Biblioteca include funcționalități pentru redarea și controlul sunetelor și muzicii, permițând integrarea efectelor sonore și a coloanelor sonore în aplicații.+# Initialize Pygame 
 +pygame.init()
  
-Evenimente și Interacțiune:​ Gestionarea intrărilor de la tastaturămouse și alte dispozitive de interacțiune este simplificatăfacilitând crearea de interfețe interactive.+# Set window properties 
 +widthheight = 800600 
 +screen = pygame.display.set_mode((width,​ height)) 
 +pygame.display.set_caption('​Pygame Example'​)
  
-Gestionarea Sprite-urilor:​ Pygame oferă suport pentru gestionarea sprite-urilor și a coliziuniloresențiale în dezvoltarea jocurilor.+# Set the drawing colors 
 +white = (255255, 255) 
 +red = (255, 0, 0)
  
-Comunitate și Resurse:+# Set the coordinates and the dimensions of the square 
 +x, y = 100, 100  # Upper-left corner 
 +length = 50     # Length of the square
  
-Comunitatea Pygame este activă și oferă numeroase resurse, inclusiv tutoriale, documentație și exemple de cod, pentru a ajuta dezvoltatorii să înceapă și să își îmbunătățească proiectele.  +running = True 
-PYGAME.READTHEDOCS.IO+while running: 
 +    for event in pygame.event.get():​ 
 +        if event.type == pygame.QUIT: 
 +            running = False
  
-Pentru a începe cu Pygame, este recomandat să aveți cunoștințe de bază în PythonInstalarea se poate realiza folosind managerul de pachete pip:+    # Set background color 
 +    screen.fill(white)
  
-bash +    # Draw a square 
-Copiază +    ​pygame.draw.rect(screen,​ red, (x, y, length, length)) 
-Editează + 
-pip install pygame +    # Update the screen 
-După instalare, puteți crea o fereastră simplă și un ciclu de joc pentru a începe dezvoltarea propriului joc sau aplicație multimedia.+    ​pygame.display.flip() 
 +</​code>​
  
 === Pillow === === Pillow ===
-Pillow este o bibliotecă open-source pentru ​limbajul de programare ​Python, destinată procesării și manipulării imaginilor. ​Aceasta este o continuare a proiectului original Python Imaging Library (PIL), care a fost întrerupt în 2011. Pillow a fost creată pentru a oferi suport actualizat și compatibilitate cu versiunile moderne de Python.  +Pillow este o bibliotecă open source pentru Python, destinată procesării și manipulării imaginilor. ​
-EN.WIKIPEDIA.ORG+
  
-Caracteristici principale:+Ce putem face cu Pillow: 
 +  * **Suport extins pentru formate de fișiere.** Pillow poate deschide, manipula și salva o varietate largă de formate de imagine, inclusiv JPEG, PNG, BMP, GIF și TIFF. 
 +  * **Manipularea imaginilor.** Biblioteca permite efectuarea de operațiuni precum redimensionarea,​ decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. 
 +  * **Acces la nivel de pixel.** Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. 
 +  * **Gestionarea transparenței și a măștilor.** Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. ​
  
-Suport extins pentru formate de fișiere: ​Pillow ​poate deschidemanipula și salva o varietate largă de formate de imagine, inclusiv JPEG, PNG, BMP, GIF și TIFF.  +Pentru a folosit ​Pillow, ​este necesar să importăm biblioteca în proiect:
-PILLOW.READTHEDOCS.IO+
  
-Manipularea imaginilor: Biblioteca permite efectuarea de operațiuni precum redimensionarea,​ decuparea, rotirea și aplicarea de filtre sau efecte asupra imaginilor. ​ +<​code>​ 
-REALPYTHON.COM+python3 -m pip install pillow 
 +</​code>​
  
-Acces la nivel de pixel: Pillow oferă posibilitatea de a accesa și modifica valorile individuale ale pixelilor, facilitând manipulări detaliate ale imaginilor. ​ +<​code>​ 
-PILLOW.READTHEDOCS.IO+from PIL import Image
  
-Gestionarea transparenței și a măștilor: Biblioteca suportă manipularea canalelor alfa și aplicarea măștilor pentru a gestiona transparența în imagini. ​ +# Open image 
-PILLOW.READTHEDOCS.IO+image = Image.open('​image.jpg')
  
-Instalare:+# Resize image 
 +resized_image = image.resize((800,​ 600))
  
-Pentru a instala Pillow, puteți utiliza managerul de pachete pip:+# Save the resized image 
 +resized_image.save('​resized_image.jpg'​) 
 +</​code>​ 
 +==== Tasks ====
  
-bash +<note tip>​Pentru a genera un număr random, folosiți biblioteca **random**.</​note>​
-Copiază +
-Editează +
-pip install Pillow +
-Exemplu de utilizare:+
  
-Iată un exemplu simplu de cod care deschide o imagine, o redimensionează și o salvează într-un nou fișier: 
- 
-python 
-Copiază 
-Editează 
-from PIL import Image 
- 
-# Deschide imaginea 
-imagine = Image.open('​imagine_initiala.jpg'​) 
- 
-# Redimensionează imaginea 
-imagine_redimensionata = imagine.resize((800,​ 600)) 
- 
-# Salvează imaginea redimensionată 
-imagine_redimensionata.save('​imagine_redimensionata.jpg'​) 
-Pillow este o unealtă puternică și flexibilă pentru dezvoltatorii Python care au nevoie de funcționalități de procesare a imaginilor în aplicațiile lor. Pentru documentație detaliată și ghiduri suplimentare,​ puteți vizita site-ul oficial al Pillow 
-</​hidden>​ 
-==== Tasks ==== 
   - Generați un grid de culori alese aleator.   - Generați un grid de culori alese aleator.
   - 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.   - 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.
   - **Bonus 1.** Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste. ​   - **Bonus 1.** Modificați primul task astfel încât gridul de culori să se regenereze la apăsarea unei taste. ​
   - **Bonus 2.** Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG.   - **Bonus 2.** Modificați al doilea task astfel încât să salvați harta de simboluri ca o imagine PNG.
gp/laboratoare/01.1738743417.txt.gz · Last modified: 2025/02/05 10:16 by maria_anca.balutoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0