Search the Community
Showing results for tags 'python'.
-
Este posibil să dorim să schimbăm ceea ce este afișat pe site-ul nostru web în funcție de anumite condiții. De exemplu, dacă vizitați site-ul www.isitchristmas.com , probabil veți fi întâmpinat cu o pagină care arată astfel: Dar acest site web se va schimba în ziua de Crăciun, când site-ul va spune DA . Pentru a face așa ceva pentru noi, să încercăm să creăm o aplicație similară, unde verificăm dacă este sau nu ziua de Anul Nou. Să creăm o nouă aplicație pentru a face acest lucru, amintind procesul nostru pentru crearea unei noi aplicații: Rulați python manage.py startapp newyear Editați settings.py, adăugând „newyear” ca unul dintre al nostru INSTALLED_APPS Editați urls.pyfișierul proiectului nostru și includeți o cale similară cu cea pe care am creat-o pentru helloaplicație: path('newyear/', include("newyear.urls")) Creați un alt urls.pyfișier în directorul noii aplicații și actualizați-l pentru a include o cale similară cu cea a indexului în hello: from django.urls import path from . import views urlpatterns = [ path("", views.index, name="index"), ] Creați o funcție index în views.py. Acum că suntem înființați cu noua noastră aplicație, să ne dăm seama cum să verificăm dacă este sau nu ziua de Anul Nou. Pentru a face acest lucru, putem importa modulul datetime al Python . Pentru a avea o înțelegere a modului în care funcționează acest modul, putem analiza documentația și apoi o putem testa în afara Django folosind interpretul Python. Interpretorul Python este un instrument pe care îl putem folosi pentru a testa bucăți mici de cod Python. Pentru a utiliza acest lucru, rulați pythonîn terminalul dvs., apoi veți putea tasta și rula codul Python în terminalul dvs. Când ați terminat de utilizat interpretul, alergați exit()să plecați. Putem folosi aceste cunoștințe pentru a construi o expresie booleană care va evalua la True dacă și numai dacă astăzi este ziua de Anul Nou: now.day == 1 and now.month == 1 Acum că avem o expresie pe care o putem folosi pentru a evalua dacă este sau nu ziua de Anul Nou, ne putem actualiza funcția de index în views.py: def index(request): now = datetime.datetime.now() return render(request, "newyear/index.html", { "newyear": now.month == 1 and now.day == 1 }) Acum, să creăm index.htmlșablonul nostru . Va trebui să creăm din nou un nou folder numit templates, un folder în acel apelat newyearși un fișier în acel apelat index.html. În interiorul acelui fișier, vom scrie așa ceva: <!DOCTYPE html> <html lang="en"> <head> <title>Is it New Year's?</title> </head> <body> {% if newyear %} <h1>YES</h1> {% else %} <h1>NO</h1> {% endif %} </body> </html> În codul de mai sus, observați că, atunci când dorim să includem logica în fișierele noastre HTML, folosim {%și %}ca deschidere și închidere a etichetelor în jurul instrucțiunilor logice. Rețineți, de asemenea, că limbajul de formatare Django necesită să includeți o etichetă de final care să indice că am terminat cu if-elseblocul nostru . Acum, ne putem deschide la pagina noastră pentru a vedea: Acum, pentru a ne face o idee mai bună despre ce se întâmplă în culise, să inspectăm elementul acestei pagini: Observați că codul HTML care este de fapt trimis în browserul dvs. web include doar antetul NU, ceea ce înseamnă că Django folosește șablonul HTML pe care l-am scris pentru a crea un nou fișier HTML și apoi îl trimitem browserului nostru web. Dacă trișăm puțin și ne asigurăm că starea noastră este întotdeauna adevărată, vedem că este completat cazul opus: def index(request): now = datetime.datetime.now() return render(request, "newyear/index.html", { "newyear": True }) Dacă dorim să adăugăm un fișier CSS, care este un fișier static, deoarece nu se modifică, vom crea mai întâi un folder numit static, apoi vom crea un newyearfolder în interiorul acestuia, apoi un styles.cssfișier în interiorul acestuia. În acest fișier, putem adăuga orice stil dorim, așa cum am făcut în prima prelegere: h1 { font-family: sans-serif; font-size: 90px; text-align: center; } Acum, pentru a include acest stil în fișierul nostru HTML, adăugăm linia {% load static %}în partea de sus a șablonului nostru HTML, care îi semnalează lui Django că dorim să avem acces la fișierele din staticfolderul nostru . Apoi, mai degrabă decât să codificăm hard linkul către o foaie de stil așa cum am făcut înainte, vom folosi o sintaxă specifică Django: <link rel="stylesheet" href="{% static 'newyear/styles.css' %}"> Acum, dacă repornim serverul, putem vedea că modificările de stil au fost de fapt aplicate: sursa:https://cs50.harvard.edu/
-
- django
- www.gamelife.ro
-
(and 1 more)
Tagged with:
-
Până în prezent, răspunsurile noastre HTTP au fost doar text, dar putem include orice elemente HTML pe care le dorim! De exemplu, ar putea să returnez un antet albastru în loc doar de textul din indexfuncția noastră : def index(request): return HttpResponse("<h1 style=\"color:blue\">Hello, world!</h1>") Ar fi foarte obositor să scrii o pagină HTML întreagă înăuntru views.py. De asemenea, ar constitui un design greșit, deoarece vrem să păstrăm părți separate ale proiectului nostru în fișiere separate ori de câte ori este posibil. Acesta este motivul pentru care vom introduce acum șabloanele Django , care ne vor permite să scriem HTML și CSS în fișiere separate și să redăm acele fișiere folosind Django. Sintaxa pe care o vom folosi pentru redarea unui șablon arată astfel: def index(request): return render(request, "hello/index.html") Acum, va trebui să creăm șablonul respectiv. Pentru a face acest lucru, vom crea un dosar numit templates în aplicația noastră, apoi vom crea un dosar numit hello(sau oricare ar fi numele aplicației noastre) în interiorul acestuia și apoi vom adăuga un fișier numit index.html. Dosare Apoi, vom adăuga orice vrem la noul fișier: <!DOCTYPE html> <html lang="en"> <head> <title>Hello</title> </head> <body> <h1>Hello, World!</h1> </body> </html> Acum, când vizităm pagina principală a aplicației noastre, putem vedea antetul și titlul au fost actualizate: Pe lângă scrierea unor pagini HTML statice, putem folosi și limbajul de șablonare Django pentru a modifica conținutul fișierelor noastre HTML pe baza adresei URL vizitate. Să încercăm schimbându-ne greetfuncția de mai devreme: def greet(request, name): return render(request, "hello/greet.html", { "name": name.capitalize() }) Observați că am trecut un al treilea argument în renderfuncția de aici, unul care este cunoscut sub numele de context . În acest context, putem furniza informații pe care am dori să le avem disponibile în fișierele noastre HTML. Acest context ia forma unui dicționar Python. Acum, putem crea un greet.html fișier: <!DOCTYPE html> <html lang="en"> <head> <title>Hello</title> </head> <body> <h1>Hello, {{ name }}!</h1> </body> </html> saursa:https://cs50.harvard.edu/
-
Django este un cadru web bazat pe Python care ne va permite să scriem cod Python care generează dinamic HTML și CSS. Avantajul utilizării unui cadru precum Django este că o mulțime de cod este deja scris pentru noi, de care putem profita. Pentru a începe, va trebui să instalăm Django, ceea ce înseamnă că va trebui să instalați și pip dacă nu ați făcut-o deja. Odată ce ai instalat Pip, poți rula pip3 install Django în terminalul tău pentru a instala Django. După instalarea Django, putem parcurge etapele creării unui nou proiect Django: Rulați django-admin start project PROJECT_NAME pentru a crea un număr de fișiere de pornire pentru proiectul nostru. Rulați cd PROJECT_NAME pentru a naviga în directorul noului dvs. proiect. Deschideți directorul în editorul de text la alegere. Veți observa că unele fișiere au fost create pentru dvs. Nu va trebui să ne uităm la cele mai multe dintre acestea pentru moment, dar sunt trei care vor fi foarte importante de la început: manage.pyeste ceea ce folosim pentru a executa comenzi pe terminalul nostru. Nu va trebui să-l edităm, dar îl vom folosi des. settings.pyconține câteva setări importante de configurare pentru noul nostru proiect. Există unele setări implicite, dar este posibil să dorim să le schimbăm din când în când. urls.py conține direcții către care ar trebui direcționați utilizatorii după ce navigați la o anumită adresă URL. Porniți proiectul rulând python manage.py runserver. Aceasta va deschide un server de dezvoltare, pe care îl puteți accesa vizitând adresa URL furnizată. Acest server de dezvoltare este rulat local pe computerul dvs., ceea ce înseamnă că alte persoane nu vă pot accesa site-ul web. Aceasta ar trebui să vă aducă la o pagină de destinație implicită: Apoi, va trebui să creăm o aplicație. Proiectele Django sunt împărțite în una sau mai multe aplicații . Majoritatea proiectelor noastre vor necesita o singură aplicație, dar site-urile mai mari pot folosi această capacitate de a împărți un site în mai multe aplicații. Pentru a crea o aplicație, rulăm python manage.py startapp APP_NAME. Aceasta va crea câteva directoare și fișiere suplimentare care vor fi utile în curând, inclusiv views.py. Acum, trebuie să instalăm noua noastră aplicație. Pentru a face acest lucru, mergem la settings.py, derulăm în jos la lista INSTALLED_APPS și adăugăm numele noii noastre aplicații la această listă sursa:harvard.edu
-
- 3
-
-
- django
- www.gamelife.ro
-
(and 1 more)
Tagged with:
-
Operatori logici Introducere Condițiile sunt o formă comodă de a lua decizii întrebându-ne dacă ceva are valoare Adevărat sau nu. Dar de multe ori o condiție nu e suficientă. Am putea dori să facem opusul. Sau de exemplu dacă dorim să luăm o decizie bazată pe turtle.xcor() și``turtle.ycor()`` atunci trebuie să le combinăm. Asta se poate rezolva cu operatori logici. Negarea unei declarații Dacă dorim ca ceva să fie Fals putem utiliza not. Este un operator logic: x = False if not x : print("condition met") else: print("condition not met") Exercițiu Țestoasa ne pune la dispoziție o funcție utilă pentru a ști dacă desenează sau nu: turtle.isdown(). Această funcție returnează Adevărat dacă țestoasa desenează. După cum am văzut mai devreme, funcțiile turtle.penup() și turtle.pendown() schimbă între desen și mișcare, sau doar mișcare fără a trasa nici o urmă. Putem scrie o funcție care înaintează doar dacă penița este ridicată? Soluție def stealthed_forward(distance): if not turtle.isdown(): turtle.forward(distance) Asta și aia sau altceva Doi operatori ușor de înțeles sunt and (și) și or (sau). Ei fac exact ce spune numele lor: if 1 < 2 and 4 > 2: print("condition met") if 1 > 2 and 4 < 10: print("condition not met") if 4 < 10 or 1 < 2: print("condition met") Nu ești limitat la un singur operator logic. Poți combina oricâți de mulți dorești. Exercițiu Mai devreme am pus țestoasa într-o închisoare circulară. De această dată să o punem într-o cutie. Dacă țestoasa merge mai mult de 100 pe axele X sau Y atunci întoarcem țestoasta înapoi spre centru. Soluție def forward(distance): while distance > 0: if (turtle.xcor() > 100 or turtle.xcor() < -100 or turtle.ycor() > 100 or turtle.ycor() < -100): turtle.setheading(turtle.towards(0,0)) turtle.forward(1) distance = distance - 1
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Desenează o spirală Buclele pot fi întrerupte cu comanda break. Este util în mod special când ai scris o buclă infinită, care este o buclă unde condiția este întotdeauna Adevărată. Exercițiu Scrie o buclă while cu o condiție care este întotdeauna Adevărată pentru a desena o spirală. Întrerupe bucla când țestoasa ajunge la o anumită distanță față de centru. Folosește funcția turtle.distance(x, y) pentru a afla distanța țestoasei față de punctul definit de coordonatele x și y. Pentru a face asta ai nevoie de funcțiile turtle.xcor() și turtle.ycor(), care returnează poziția țestoasei pe axele X si respectiv Y. Soluția def draw_spiral(radius): original_xcor = turtle.xcor() original_ycor = turtle.ycor() speed = 1 while True: turtle.forward(speed) turtle.left(10) speed += 0.1 if turtle.distance(original_xcor, original_ycor) > radius: break Supliment Poți să creezi o condiție pentru această buclă, în așa fel încât să nu ai nevoie de bucla infinită while True sau de break? Ce versiune este mai ușor de înțeles?
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Închisoarea țestoasei Exercițiu The turtle has been up to its usual tricks again, robbing liquor stores and building up huge gambling debts. It’s time for turtle to be put into a cell that it can’t get out of. Hai să facem o nouă variantă de forward(). Una care va întoarce țestoasa complet dacă încearcă să meargă mai departe de 100 de la origine. Vom avea nevoie de o buclă while și de cateva funcții noi: turtle.distance(0,0) - Distanța țestoasei de la origine turtle.towards(0,0) - Unghiul pentru a se întoarce la origine turtle.setheading(angle) - Setează direcția țestoasei Poți să încerci să te joci cu țestoasa direct în interpretor pentru a verifica exact ce fac, daca dorești. Acum va trebui să implementăm logica celulei, poate într-o buclă while și folosind niște logică condițională. Este puțin cam complicat dar continuă! Să nu îți fie frică să vorbești cu cineva mai experimentat sau cu alt student. Soluția def forward(distance): while distance > 0: if turtle.distance(0,0) > 100: angle = turtle.towards(0,0) turtle.setheading(angle) turtle.forward(1) distance = distance - 1
-
- 1
-
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Bucle condiționale Introducere Buclele condiționale sunt un mod de a repeta ceva atâta vreme cât o condiție este satisfăcută, sau Adevărată. Dacă condiția este întotdeauna satisfăcută (nu devine niciodată Falsă), atunci bucla poate deveni infinită. Dacă condiția este falsă la început, codul din buclă nu va rula niciodată! În Python buclele condiționale sunt definite folosind declarația while: word = '' sentence = '' print('Please enter some words.') print('Include a period (.) when you are finished.') while '.' not in word: word = input('next word: ') sentence = word + ' ' + sentence print() print('Aha! You said:') print(sentence) Numim această parte a codului ‘condițional’: '.' not in word De valoarea Adevărat sau nu întoarsă de condiție depinde executarea codului din bucla while. Citește codul de mai sus și încearcă să rezumi în minte ce face (care va fi rezultatul final). Apoi copiază într-un fișier, cum ar fi sentence.py și rulează-l - vezi exact ce face. Seamănă cu ce credeai tu ?
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Cum să dai indicații Țestoasele din Python pot fi foarte bune la executat instrucțiuni. Hai să încercăm să folosim funcția input() pentru a cere utilizatorului o direcție în care să miște țestoasa. Pentru a păstra lucrurile simple vom accepta doar două instrucțiuni: “left” (stânga) și “right” (dreapta). Este mult mai ușor să definești asta ca o funcție, adică: def move(): direction = input("Go left or right? ") if direction == "left": turtle.left(60) turtle.forward(50) if direction == "right": turtle.right(60) turtle.forward(50) Acum oricând folosești move() ți se va cere să alegi left (stânga) sau right (dreapta). “prelucrarea datelor” În acest program, țestoasa va răspunde doar la exact left sau right, fără excepție. Deși Left sau LEFT ar putea părea același lucru ca și left pentru un om, asta nu e valabil și în cazul programării. Python are niște metode care să te ajute la asta. Un șir ce caractere are metodele .strip(), care elimină spațiile albe și .lower() care transformă toate literele în litere mici. Iată câteva exemple care afișează efectele lui .strip() și .lower(): my_variable = " I Am Capitalised" print(my_variable) my_stripped = my_variable.strip() print(my_stripped) my_lower = my_variable.lower() print(my_lower) Încearcă să adaugi direction = direction.strip().lower() la funcția move(), pentru a vedea ce efect are. Adeseori numim genul acesta de cod “data munging” (prelucrarea datelor), și este foarte des întâlnit. Poți să adaugi opțiuni suplimentare pentru a face țestoasa să deseneze și alte lucruri? Ce zici de hexagon?
-
- 1
-
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Instrucțiuni condiționale Introducere Până acum am îndeplinit sarcini predefinite, dar la modul serios nu am făcut decât ce face un casetofon care urmează redă același lucru de fiecare dată. Ceea ce face programarea atât de puternică sunt instrucțiunile condiționale. Este facilitatea de a testa o variabilă față de o valoare și de a reacționa într-un fel dacă condiția este îndeplinită de variabilă și în alt fel dacă nu. Acestea sunt în mod normal denumite de programatori instrucțiuni if. Pentru a ști dacă condiția este Adevărată sau Falsă avem nevoie de un nou tip de date: logice. Acestea permit operații logice. O instrucțiune sau operație logică poate fi evaluată la Adevărat sau Fals. Instrucțiunea noastră condițională poate fi înțeleasă ca: Condiția poate fi orice se evaluează la Adevărat sau Fals. Comparațiile întotdeauna întorc Adevărat sau Fals, de exemplu == (este egal cu), > (mai mare decât), < (mai mic decât). Partea else este opțională. Dacă nu o folosești, atunci când condiția are valoarea ‘Fals’ nu se va întâmpla nimic. Exemple Iată câteva exemple. Poți să le citești linie cu linie și să te gândești ce fac, sau poți să le execuți pentru a fi sigur: condition = True if condition: print("condition met") if not condition: print("condition not met") direction = -30 if direction > 0 : turtle.forward(direction) else: turtle.left(180) turtle.forward(-direction)
-
- 1
-
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
O funcție parametrizată pentru un hexagon de dimensiune variabilă Exercițiu Scrie o funcție care îți permite să desenezi hexagoane de orice dimensiune dorești, la fiecare apelare. Soluție def hexagon(size): for _ in range(6): turtle.forward(size) turtle.left(60) O funcție cu mai mulți parametri Exercițiu Scrie o funcție care va desena o formă cu oricâte laturi (să presupunem că mai mult de două), de orice lungime a laturii. Fă-o să deseneze diverse forme. Uite un exemplu de desenare a unor forme cu această funcție: Soluție def draw_shape(sides, length): for _ in range(sides): turtle.forward(length) turtle.right(360 / sides) Supliment Ar putea suna aiurea, dar este perfect posibil să transmiți o funcție ca parametru altei funcții! Python tratează funcțiile ca pe ‘lucruri’ perfect normale, la fel ca variabilele, numerele și șirurile de caractere. De exemplu, ai putea creea o funcție de desenare a funei forme care se întoarce într-o direcție sau alta în funcție de ce funcție îi transmiți - turtle.left sau turtle.right. Vezi dacă poți implementa asta!
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Funcții cu parametri Introducere Pe măsură ce reducem codul și adăugăm funcții pentru a elimina duplicarea, îl factorizăm. Ăsta este un lucru bun. Dar funcțiile pe care le-am creeat până acum nu sunt foarte flexibile. Variabilele sunt definite în cadrul funcției, așa că dacă vrem să folosim un alt unghi sau altă distanță atunci trebuie să scriem o nouă funcție. Funcția noastră hexagon poate desena doar o singură dimensiune de hexagon! Din acest motiv avem nevoie să putem transmite funcției parametri, numiți și argumente. În acest mod variabilele din cadrul funcției pot avea diverse valori la fiecare apel al funcției. Iată cum am definit funcția line_without_moving() în secțiunea precedentă: def line_without_moving(): turtle.forward(50) turtle.backward(50) O putem îmbunătăți transmițându-i un parametru: def line_without_moving(length): turtle.forward(length) turtle.backward(length) Parametrul se comportă ca o variabilă vizibilă doar în cadrul definiției funcției. Utilizăm această funcție nou definită prin apelarea ei cu noua valoare pe care dorim să o aiba parametrul în acest mod: line_without_moving(50) line_without_moving(40) Am utilizat funcții cu parametri încă de la începutul cursului cu turtle.forward(), turtle.left() etc. Și putem pune oricâte argumente (sau parametri) dorim, separându-le cu virgule și dându-le nume diferite: def tilted_line_without_moving(length, angle): turtle.left(angle) turtle.forward(length) turtle.backward(length)
-
- 1
-
-
- tehnologie
- python
-
(and 1 more)
Tagged with:
-
O funcție pentru un hexagon Exercițiu Scrie o funcție care desenează un hexagon. Acum combină funcția aceasta într-un fagure. Creează un singur strat așa: Încearcă! Soluție def hexagon(): for _ in range(6): turtle.forward(100) turtle.left(60) for _ in range (6): hexagon() turtle.forward(100) turtle.right(60) Poți să pui partea cu``turtle.forward(100); turtle.right(60)`` direct în funcție, dar în acest caz ar fi mai bine să nu o denumești hexagon. Asta ar fi derutant pentru că de fapt desenează un hexagon și pe urmă avansează într-o poziție în care un alt hexagon ar avea sens doar în cazul unui fagure. Dacă ai avea nevoie să reutilizezi funcția la altceva decât faguri, asta ar fi neașteptat.
-
- 2
-
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
O funcție pentru un pătrat Exercițiu Scrie o funție care desenează un pătrat. Poți utiliza această funcție pentru a îmbunătăți programul cu pătrate înclinate? Dacă schimbi programul pentru a folosi o funcție, este mai ușor să experimtentezi? Soluție def tilted_square(): turtle.left(20) # now we can change the angle only here for _ in range(4): turtle.forward(50) turtle.left(90) tilted_square() tilted_square() tilted_square() # bonus: you could have a separate function for drawing a square, # which might be useful later: def square(): for _ in range(4): turtle.forward(50) turtle.left(90) def tilted_square(): turtle.left(20) square() # etc
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Funcții definite de utilizator Introducere Programatorii pot întâlni probleme destul de complexe și abstracte, dar o caracteristică a unui bun programator este lenea. Ei doresc să aibă de-a face cu un singur lucru odată . Așa că ai nevoie să spargi problemele în bucăți mai mici, separate, care să îți permită să te concentrezi doar pe cea pe care dorești. Funcțiile sunt un mod de a face această abstractizare în Python. Hai să luăm ca exemplu turtle.reset(). reset este o funcție pe care o apelăm pe turtle și este de fapt o abstractizare a unui număr de pași, adică: Șterge tabla. Setează lățimea și culoarea la valorile implicite. Mută țestoasa înapoi la poziția inițială. Dar pentru că tot codul este inclus în funcție, nu trebuie să ne facem griji pentru aceste detalii. Putem pur și simplu să apelăm această funcție și vom ști că va face ceea ce spune. Deci - cum să îți scrii propriile funcții? O funcție poate fi definită în Python folosind cuvântul cheie def: def line_without_moving(): turtle.forward(50) turtle.backward(50) Funcția pe care am definit-o se numește line_without_moving și este o abstractizare a doi pași ai țestoasei - o deplasare înainte și o deplasare înapoi. Pentru a o utiliza (sau așa cum se spune de obicei, pentru a o apela), scrie numele ei urmat de paranteze: line_without_moving() turtle.right(90) line_without_moving() turtle.right(90) line_without_moving() turtle.right(90) line_without_moving() Am putea să scriem mai multe funcții pentru a elimina repetițiile: def star_arm(): line_without_moving() turtle.right(360 / 5) for _ in range(5): star_arm()
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Pătrate mai eficiente Exercițiu Pătratele pe care le desenam la începutul acestui curs aveau multe linii de cod repetate. Poți scrie un program de desenare pătrate în mai puține linii de cod utilizând bucle? Soluția for _ in range(4): turtle.forward(100) turtle.left(90) Supliment Încearcă să faci bucle imbricate, punând una chiar după (înăuntrul) alteia, cu câteva comenzi de desen care aparțin amândorura. Uite cum poate arăta: for ...: for ...: # drawing code inside the inner loop goes here ... # you can put some code here to move # around after! ... Înlocuiește ... cu codul tău, și vezi dacă poți obține ceva drăguț sau interesant!
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Desenarea unei linii întrerupte Exercițiu Desenează o linie întreruptă. Poți mișca țestoasa fără ca aceasta să deseneze utilizând funcția turtle.penup() (ridică penița); pentru ca aceasta să deseneze din nou, folosește turtle.pendown() (penița jos). Soluția for i in range(10): turtle.forward(15) turtle.penup() turtle.forward(5) turtle.pendown() Supliment Poți face dungile să fie mai lungi pe măsură ce desenezi linia? Comentarii În exemplul de mai sus, linia care începe cu # este numită un comentariu. În Python, orice urmează pe o linie după # este ignorat de calculator. Folosește comentarii pentru a explica ce face programul tău, fără a schimba modul de comportare al calculatorului. Pot fi folosite și pentru a dezactiva rapid și temporar, sau a “comenta”, linii de cod. Comentariile pot fi puse de asemenea la sfârșitul unei linii, așa: turtle.left(20) # tilt our next square slightly
-
- 2
-
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Bucle Introducere Ceva ce este posibil să fi observat: programele adeseori au nevoie de repetiții. Python are un concept puternic pe care îl utilizează, numit bucle (în jargon: iterații), care poate fi folosit pentru a reduce codul repetitiv! Pentru moment, încearcă acest exemplu simplu: for name in "John", "Sam", "Jill": print("Hello " + name) Este incredibil de util dacă dorim să facem ceva de mai multe ori – să spunem, să desenăm separat marginile unei forme – dar dorim să scriem acea acțiune o singură dată. Iată o altă versiune de buclă: for i in range(10): print(i) Observați cum scriem doar o linie de cod folosind i, dar ia zece valori diferite? Funcția range(n) poate fi considerată o prescurtare pentru 0, 1, 2, ..., n-1. Dacă dorești să afli mai mult, poți folosi documentația din interpretorul Python scriind help(range). Folosește tasta q pentru a ieși din documentație. Poți de asemenea sa treci prin elemente la alegere: total = 0 for i in 5, 7, 11, 13: print(i) total = total + i print(total) Scrie acest exemplu și încearcă-l cu Python, ca să vezi dacă merge așa cum te aștepți. Uneori vrei să repeți o bucată de cod de mai multe ori, dar nu te interesează valoarea variabilei i; în acest caz este o bună practică să o înlocuiești cu _. Asta înseamnă că nu te interesează valoarea, sau că nu dorești să o utilizezi. Iată un exemplu simplu: for _ in range(10): print("Hello!") Poți să te întrebi sau nu despre variabila i - de ce e folosită de fiecare dată? Ei bine, semnifică “index” și este unul dintre cele mai folosite nume de variabile întâlnite în cod. Dar dacă iterezi peste altceva decât numere, asigură-te că îi dai un nume mai bun! De exemplu: for drink in list_of_beverages: print("Would you like a " + drink + "?") Este cu mult mai ușor de înțeles decât dacă am fi folosit i în loc de drink
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Variabile Introducere Ptiu! Experimentarea cu aceste unghiuri îți cere să schimbi trei locuri diferite din cod de fiecare dată. Imaginează-ți că ai dori să expermentezi cu toate dimensiunile pătratelor, nu mai zic de dreptunghiuri! Asta se poate îmbunătăți. Și aici intră în scenă variabilele: poți să îi spui lui Python că din acest moment, de fiecare dată cănd faci referire la o variabilă, vrei de fapt să spui altceva. Conceptul acesta ar putea fi familiar de la simbolurile matematice, unde scrii Fie x = 5. Atunci x * 2 va fi evident 10. În sintaxa Python, exact același lucru se scrie: x = 5 După această declarație, dacă dai comanda print(x), va tipări de fapt valoarea — 5. Ei bine, putem utiliza asta și pentru țestoasă: turtle.forward(x) Variabilele pot păstra tot felul de lucruri, nu numai numere. Un alt lucru pe care dorești de regulă să îl păstrezi sunt șiruri de caractere - o linie de text. Șirurile sunt indicate cu "(ghilimele) la început și la sfârșit. Vom învăța în continuare despre ele și despre alte tipuri, cum sunt ele denumite în Python, și ce poți face cu ele. Poți utiliza o variabilă pentru a da un nume țestoasei: timmy = turtle Acum de fiecare dată când scrii timmy va ști că vorbești despre turtle. Poți să folosești în continuare și turtle: timmy.forward(50) timmy.left(90) turtle.forward(50) O variabilă numită angle (unghi) Exercițiu Dacă avem o variabilă numită angle (unghi), cum o putem utiliza pentru a experimenta mai rapid cu programul nostru de pătrate înclinate? Soluția angle = 20 turtle.left(angle) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.left(angle) Supliment Poți aplica acest principiu și la dimensiunea pătratelor? Casa lui Moș Crăciun Exercițiu Desenează o casă. Poți calcula lungimea diagonalei folosind teorema lui Pitagora. Această valoare este un bun candidat pentru a fi stocată într-o variabilă. Pentru a calcula rădăcina pătrată a unui număr în Python, va fi nevoie să imporți modulul math și să folosești funcția math.sqrt(). Pătratul unui număr este calculat cu operatorul **: import math c = math.sqrt(a**2 + b**2)
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Desenarea unui dreptunghi Exercițiu Poți să desenezi un dreptunghi? Soluția turtle.forward(100) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(50) turtle.left(90) Supliment Dar un triunghi? Într-un triunghi echilateral (un triunghi cu laturile egale) fiecare colț are un unghi de 60 de grade. Mai multe pătrate Exercițiu Acum, desenează un pătrat înclinat. Și încă unul, și încă unul. Poți experimenta cu unghiurile între pătrate. În imagine sunt trei întoarceri de 20 de grade. Poți încerca, de exemplu, 20, 30 și 40. Soluția turtle.left(20) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.left(30) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.left(40) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90)
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Desenarea unui pătrat Exercițiu Desenează un pătrat ca în figura următoare: Pentru un pătrat probabil vei avea nevoie de un unghi drept, care este de 90 de grade. Soluția turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) turtle.forward(50) turtle.left(90) Supliment Dacă vrei să fii creativ, poți modifica forma cu funcțiile turtle.width(...) și turtle.color(...). Cum utilizezi aceste funcții? Înainte de a utiliza o funcție trebuie să îi cunoști semnătura (de exemplu numărul de parametri și semnificația lor). Pentru a putea afla asta poți să scrii help(turtle.color) în consola interactivă Python. Dacă este prea mult text, Python o să pună documentația într-un pager, care îți permite să derulezi pagini sus si jos. Apasă tasta q pentru a ieși din pager.
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Desenarea simplă utilizând țestoasa Introducere Țestoasa este ca o planșetă de desen. Are funcții ca turtle.forward(...) și turtle.left(...), care pot mișca țestoasa. Înainte de a utiliza țestoasa, aceasta trebuie importată. Îți recomandăm sa te joci cu ea în mod interactiv pentru început, deoarece va fi nevoie de cateva lucruri suplimentare pentru a o face să funcționeze din fișiere. Deschide un terminal și scrie: import turtle turtle.forward(25) turtle.left(30) Funcția turtle.forward(...) îi spune țestoasei să înainteze distanța specificată. turtle.left(...) primește un număr de grade cu care vrei să se rotească la stânga. Există de asemenea turtle.backward(...) și turtle.right(...) Țestoasa standard este un triunghi. Nu e prea drăguț! Hai să o transformăm într-o țestoasă cu comanda turtle.shape(): turtle.shape("turtle") Mult mai drăguț! Dacă pui comenzile într-un fișier, poate ai observat că fereastra cu țestoasa dispare după ce țestoasa și-a terminat mișcarea. (Asta deoarece Python se închide după ce țestoasa și-a terminat mișcarea. De vreme ce fereastra țestoasei aparține Pyhon, și aceasta se închide.) Pentru a evita asta, adaugă la sfârșitul fișierului tău. Acum fereastra rămâne deschisă pâna cand apeși un buton în ea: import turtle turtle.shape("turtle") turtle.forward(25) turtle.exitonclick()
-
- python
- tehnologie
-
(and 1 more)
Tagged with:
-
Să începem Ce ai nevoie Un Python! Daca încă nu ai Python, cele mai recente pachete de instalare sunt disponibile aici: http://python.org/download/ Este de preferat Python 3, aceasta fiind cea mai nouă versiune! Și un editor Un editor te ajută să citești și să scrii cod. Există foarte multe, și acesta este una dintre cele mai personale alegeri pe care le poate face un programator - ca un jucător de tenis care își alege racheta, sau ca un bucătar șef care își alege cuțitul preferat. Pentru început, o să vrei doar un editor simplu, ușor de utilizat și care nu te încurcă, dar este totuși eficient la scrierea de cod Python. Iată câteva sugestii: Sublime Text: Un excelent editor care este simplu de utilizat. Scurtătura acestuia Ctrl+B îți permite să execuți imediat fișierul Python la care lucrezi. Rulează pe Windows, Mac și Linux. Geany: Un editor simplu care nu își propune să fie extrem de complicat. Disponibil pe Windows și Linux (probabil îl poți găsi în programul tău de gestiune a pachetelor). TextMate: Unul dintre cele mai faimoase editoare pentru Mac, a fost un produs comercial dar între timp a devenit open-source. Gedit and Kate: dacă dorești să folosești Linux cu Gnome și respectiv KDE, probabil ai deja unul dintre acestea instalat! Komodo Edit: un editor strălucit, gratuit pentru Mac, Windows și Linux, bazat pe mai puternicul Komodo IDE. Dacă dorești recomandarea noastră, încearcă prima dată Sublime Text. Ce este Python de fapt? Bine, Python este ceva numit un limbaj de programare. Preia ceea ce scrii (în mod normal denumit cod), îl transformă în instrucțiuni pentru calculatorul tău și le execută. O să învățăm cum să scriem cod pentru a face lucruri interesante și utile. Nu vei mai fi nevoit să folosești programele altora pentru a face lucruri cu calculatorul tău! Practic, Python este doar un alt program în calculatorul tău. Primul lucru pe care trebuie să îl înveți este cum să interacționezi cu el. Există multe metode ca să faci asta; prima este să interacționezi cu interpretorul Python, utilizând consola sistemului de operare (OS, prescurtare de la Operating System). O consolă (sau ‘terminal’, sau ‘linie de comandă’) este o formă de a interacționa cu sistemul tău de operare în mod text, așa cum ‘desktop’-ul, în combinație cu mouse-ul tău, este metoda grafică de interacțiune cu sistemul tău. Deschiderea unei console în Mac OS X Consola standard a lui OS X este un program numit Terminal. Deschide Terminal mergănd la Applications, apoi Utilities, apoi dublu clic pe programul Terminal. Poți de asemenea să cauți ușor folosind unealta de căutare din dreapta-sus. Linia de comandă Terminal este un instrument pentru interacțiunea cu calculatorul tău. Se va deschide o fereastră cu un mesaj, cum ar fi: mycomputer:~ myusername$ Deschiderea unei console în Linux Diverse distribuții Linux (ex. Ubuntu, Fedora, Mint) pot avea diverse programe de consolă, numite de obicei terminale. Cel pe care îl ai disponbil și modul în care îl lansezi depinde de distribuție. Pe Ubuntu probabil că vei vrea să deschizi Gnome Terminal. Ar trebui să prezinte un prompt de genul: myusername@mycomputer:~$ Deschiderea unei console în Windows Consola Windows este Command Prompt, numită cmd. O variantă simplă pentru a o obține este să utilizezi combinația Windows+R (unde Windows este tasta cu sigla Windows), care ar trebui să deschidă un dialog Run. Scrie apoi cmd și apasă Enter sau dă clic pe Ok. Poți de asemenea să o cauți în meniul de start. Ar trebui sa arate cam așa: C:\Users\myusername> Command Prompt-ul din Windows nu este la fel de puteric precum omologii lui din Linux și OS X, așa că ar fi posibil să dorești să apelezi Interpretorul Python (vezi mai jos) direct, sau utilizând programul IDLE cu care se livrează Python. Le poți găsi în meniul de Start.
-
- python
- tehnologie
-
(and 1 more)
Tagged with: