E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Python

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

DEVELOPMENT  /  Python  /  Introducere in Python (4)

Introducere in Python - Partea a II-a. Functii.

01.08.2009
Introducere in Python - Partea a II-a. Functii.

In acest tutorial vei putea citi despre functii predefinite in Python si functii definite de utilizator, cat si despre preluarea inputului de la tastatura.

Total vizualizari: 14289 14289 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 30 min 30 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  www.sthurlow.com  
Autor:  www.sthurlow.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1 23 »
comenteaza printeaza

Functii

Introducere

Ce sunt functiile? In esenta, functiile sunt sectiuni de cod ce executa o anumita sarcina si pe care le poti incorpora in propriile programe mai mari. Dupa ce ai creat o functie, o poti utiliza oricand, oriunde. Aceasta te scuteste de timpul si de efortul de a-i spune iar si iar computerului ce sa faca de fiecare data cand executa o sarcina obisnuita, de exemplu preluarea inputului de la tastatura.

Utilizarea unei functii

Python are o multime de functii predefinite pe care le poti utiliza imediat, prin simpla apelare a acestora. Apelarea inseamna transmiterea unor parametri, pe care functia ii va folosi pentru a returna un rezultat. Iata forma generala pe care o are apelarea unei functii:

nume_functie(parametri)

Vezi? Usor.

  • nume_functie identifica functia pe care vrei sa o utilizezi (de exemplu, functia raw_input, care va fi prima functie Python pe care o vom analiza).

  • Parametrii sunt valorile pe care le trimiti functiei pentru a-i spune ce ar trebui sa faca si cum ... de exemplu, daca o functie inmulteste un numar cu 5 si valoarea parametrului este 70, functia va executa 70x5.

Parametri si valori returnate - comunicarea cu functiile

Sa presupunem ca avem un program ce realizeaza inmultirea cu 5, dar cum arata asta in limbaj Python? Programul trebuie sa vada rezultatul, sa vada ce reprezinta 70x5 sau daca exista vreo problema undeva (de exemplu daca parametrul furnizat este o litera in loc de un numar). Deci, cum lucreaza o functie?

In esenta, cand un computer ruleaza o functie, nu vede numele acesteia, ci rezultatul a ceea ce a executat functia. Variabilele functioneaza la fel - computerul nu vede numele variabilei, ci valoarea acesteia. Sa denumim aceasta functie care inmulteste un numar cu 5 - multiply(). Deci, daca ai tastat:

a = multiply(70)

Computerul vede de fapt:

a = 350

Observatie: Nu te obosi sa testezi acest cod - pentru a functiona, trebuie mai intai sa definesti functia multiply().

Functia va fi executata, apoi va returna un numar in programul principal, bazat pe parametrii oferiti.

Acum sa incercam apelul unei functii predefinite si sa vedem cum lucreaza. Functia respectiva este denumita raw_input si ii solicita utilizatorului sa tasteze ceva, apoi transforma datele introduse intr-un sir de caractere (string). Incearca te rog codul de mai jos:

# aceasta linie retine datele introduse in variabila a
a = raw_input("Scrie un text, ce va fi afisat din nou pe ecran:")
# afiseaza continutul variabilei a
print a

Sa spunem ca in programul de mai sus ai tastat "hello". Pentru computer, acest program ar arata astfel:

a = "hello"
print "hello"

Aminteste-ti, o variabila este doar o valoare stocata. Pentru computer, variabila "a" nu arata ca un "a" - vede valoarea stocata in interiorul sau. Functiile sunt similare - programul principal (acesta este cel care ruleaza functia) va vedea doar valorile primite ca urmare a apelarii.

Un calculator

Sa scriem un alt program care va actiona ca un calculator. De data aceasta vom face ceva mai aventuros. Va exista un meniu care te va intreba daca doresti sa inmultesti doua numere, sa le aduni, sa le imparti sau sa le scazi. Exista o singura problema - functia raw_input returneaza un string, iar noi avem nevoie de numarul 1, nu de litera 1 (si da, in python este o diferenta).

Din fericire, avem la dispozitie functia input care returneaza ce ai tastat, dar de data aceasta ca numar. Daca ai tastat un numar intreg, ceea ce rezulta este un numar intreg. Si daca scrii acel numar intr-o variabila, variabila va fi de tip integer, ceea ce inseamna ca o poti utiliza in operatii aritmetice.

Acum, sa cream acest calculator. Ne dorim un meniu care este afisat de fiecare data cand terminam de adunat, scazut, etc. Cu alte cuvinte, sa execute o bucla continua.

Sa scriem asta intr-un limbaj pe intelesul tuturor:

INCEPE PROGRAMUL
afiseaza mesaj de inceput
 
in timp ce programul ruleaza, executa:
    #Afiseaza operatiile aritmetice permise
    afiseaza Optiunea 1 - adunare
    afiseaza Optiunea 2 - scadere
    afiseaza Optiunea 3 - inmultire
    afiseaza Optiunea 4 - impartire
    afiseaza Optiunea 5 - iesire din program
    
    citeste optiunea aleasa
    daca este optiunea 1:
        citeste primul numar
        citeste cel de-al doilea numar
        aduna numerele
        afiseaza rezultatul
   daca este optiunea 2:
        citeste primul numar
        citeste cel de-al doilea numar
        efectueaza scaderea
        afiseaza rezultatul
    daca este optiunea 3:
        citeste primul numar
        citeste cel de-al doilea numar
        inmulteste-le
        afiseaza rezultatul
    daca este optiunea 4:
        citeste primul numar
        citeste cel de-al doilea numar
        efectueaza impartirea
        afiseaza rezultatul
    daca este optiunea 5:
        iesire din bucla
afiseaza un mesaj de iesire
TERMINA PROGRAMUL

Acum sa ii dam o forma pe care o poate intelege python:

#program calculator 
 
# variabila loop indica programului daca sa execute bucla sau nu
# 1 inseamna executa bucla, orice alta valoare inseamna iesire din bucla
 
loop = 1
 
# aceasta variabila retine optiunea aleasa de utilizator
 
choice = 0
 
while loop == 1:
    #afiseaza optiunile 
    print "Bine ai venit la calculator.py"
 
    print "Optiunile tale sunt:"
    print " "
    print "1) Adunare"
    print "2) Scadere"
    print "3) Inmultire"
    print "4) Impartire"
    print "5) Iesire din calculator.py"
    print " "
 
    choice = input("Alege optiunea dorita: ")
    if choice == 1:
        add1 = input("Aduna asta: ")
        add2 = input("cu asta: ")
        print add1, "+", add2, "=", add1 + add2
    elif choice == 2:
        sub2 = input("Scade asta: ")
        sub1 = input("din asta: ")
        print sub1, "-", sub2, "=", sub1 - sub2
    elif choice == 3:
        mul1 = input("Inmulteste asta: ")
        mul2 = input("cu asta: ")
        print mul1, "*", mul2, "=", mul1 * mul2
    elif choice == 4:
        div1 = input("Imparte asta: ")
        div2 = input("la asta: ")
        print div1, "/", div2, "=", div1 / div2
    elif choice == 5:
        loop = 0
    
print "Iti multumim ca ai utilizat calculator.py!"

Este un program impresionant! Copiaza asta in python IDLE, salveaza codul cu numele de 'calculator.py' si ruleaza-l (F5). Joaca-te putin - incearca-i toate optiunile, introducand numere intregi sau rationale (in python, zecimalele sunt delimitate prin punct(.), cunoscut in programare ca floating point). Incearca sa introduci text si vei vedea cum programul nu va mai rula (aceasta problema se poate rezolva prin validarea datelor si erori, la care ne vom referi mai tarziu.)

Pagina:
1 23 »
comenteaza printeaza
Alte tutoriale Python:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4180
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4085
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4060
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
3875
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Outlook SEO Bridge Powerpoint Gimp MySQL Action Script JSON Illustrator Javascript Python Dreamweaver RoR CSS SWF Fireworks Swift 3D AJAX Word Flash PHP COREL DRAW XML Lightroom HTML PSD Excel StyleSheet Ruby on Rails Sony Vegas Vista Fotografie XHTML Java Photoshop Verilog
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software