P. 1
3.Phyton programazio lengoaia

3.Phyton programazio lengoaia

|Views: 8|Likes:
Published by Irati Boda Ezeiza

More info:

Published by: Irati Boda Ezeiza on Oct 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/25/2013

pdf

text

original

3.

Python Programazio Lengoaia

Python Programazio lengoaia

Edukia
 Sarrera  Aldagaiak, adierazpenak eta sententziak  Sarrera eta irteera  Funtzioak  Kontrol egiturak  Errekurtsibitatea

Python Programazio lengoaia

Instalazioa

Sarrera

www.python.org
 Behera kargatu instalatzialea
• Python 3.0 goragoko bertsioa • Python 3.1.2 Windows x86 MSI Installer

 Exekutatu instalatzailea  Exekutatu “Python (command line)”
• Modu interaktiboa

 Exekutatu “IDLE (Python GUI)”
• Modu interaktiboa • Script modua

Python Programazio lengoaia
Sarrera

Python Programazio lengoaia

Lehenengo Programa

Sarrera

Python Programazio lengoaia

Aldagaiak, adierazpenak eta sententziak
 Balioak eta Datu Motak  Aldagaiak eta aldagai izenak  Eragileak eta eragileen ordena  Adierazpenak (espresioak)  Sententziak  Iruzkinak  Ariketak

Aldagaiak, adierazpenak eta sententziak

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Balioak eta Datu Motak
Erabiltzen ditugun balio guztiei Datu Mota bat dagokie
Osoak (int): 1, 2, … Errealak (float): 3.2, 6.7, …

Karaktere kateak (string): “Kaixo denoi!” , „Kaixo denoi!‟
>>> type('Kaixo denoi!') <class 'str'> >>> type(3) <class 'int'> >>> type(3.5) <class 'float'> >>> type('3.5') <class 'str'> >>> print('Kaixo denoi!') Kaixo denoi! >>> print(3) 3 >>> print(3.5) 3.5 >>> print('3.5') 3.5

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Aldagaiak
Aldagaietan balioak gorde ditzakegu
>>> a=3 >>> b=4.6 >>> mezua='kaixo denoi!'

>>> a='kaixo!' >>> type(a) <class 'str'> >>> a=3 >>> type(a) <class 'int'> >>> a=3.5 >>> type(3.5) <class 'float'>

>>> a='Kaixo denoi!' >>> print(a) Kaixo denoi! >>> a=3 >>> print(a) 3 >>> a=3.5 >>> print(a) 3.5

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Aldagai Izenak
a-Z(a-Z,0-9,_)*
>>> a=3 >>> b7=4.6 >>> mezu_luzea='kaixo denoi!' >>> is=46 SyntaxError: invalid syntax mezu_luzea=‘kaixo denoi!’ SyntaxError: invalid character in identifier

Gako-hitzak (keywords):
and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield nonlocal

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Eragileak
+ - * / // % **
>>> 33/5 6.6 >>> 33//5 6 >>> 33%5 3 >>> 'bat'+'bi' 'batbi' >>> 'bat'*'bi' TypeError: can't multiply sequence by non-int of type 'str' >>> 'bat'*3 'batbatbat' >>> 3*'bat' 'batbatbat'

Ebaluazio ordena: () ** * / // % + >>> 10 >>> 14 >>> 9 >>> 16 4+3*2 (4+3)*2 2**3+1 2**(3+1)

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Adierazpenak eta sententziak
Adierazpena (espresioa): aldagai, balio eta eragile konbinaketa Sententzia: exekutagarria den kode zatia
• Modu interaktiboan: baliorik balego, erakutsi • Script moduan: ez da ezer erakusten (print erabili behar da)

>>> a=3*'Aupa!' >>> print(a) Aupa!Aupa!Aupa! >>> type(a) <class 'str'>

>>> ===== RESTART ====== >>> Aupa!Aupa!Aupa! >>>

Python Programazio lengoaia
Aldagaiak, adierazpenak eta sententziak

Iruzkinak
Programak handitu ahala… ULERTEZINAK Iruzkinak lagungarri dira
• # zeinuaren atzetik datorren guztia

• Ez dira exekutatuak

# Segunduak ordu = s // minutu = (s segundu = s

ordu, minutu eta segundutara 3600 % 3600) // 60 % 60

portzentaia = s / (24 * 3600) * 100

# Egun portzentaia

Python Programazio lengoaia

Sarrera - Irteera
• print(adierazpena)
Adierazpenaren balioa erakutsi

Sarrera - Irteera

• input(mezua)
Mezua erakutsi

Teklatutik irakurritako karaktere katea bueltatu
>>> a=input('idatzi zerbait:') idatzi zerbait:34.5 >>> a '34.5' >>> type(a) <class 'str'> >>> a = float(input('x: ')) x: 34.5 >>> a 34.5 >>> type(a) <class 'float'> >>> float('23.5') 23.5 >>> str(1/3) '0.333333333333‘

Python Programazio lengoaia

Lehenengo Programa...

Sarrera - Irteera

Python Programazio lengoaia

Funtzioak
Kalkulu batzuk egiten dituen izendaturiko sententzia segida

Funtzioak

Izena

Argumentua

>>> type(32) <class 'int'>

Bueltatzen duen balioa (EMAITZA) aldagai batean gorde
Pantailatik erakutsitako balioa???

>>> print(45) 45 >>> input('x=') x=34 '34' >>> str(45) '45' >>> int('45') 45 >>> float(45) 45.0

Python Programazio lengoaia

Funtzio Matematikoak

Funtzioak

Funtzio matematikoak modulu matean daude. Erabili aurretik, modulua inportatuko dugu
>>> import math >>> print(math) <module 'math' (built-in)> >>> help(math) >>> math.log(10) 2.302585092994046 >>> math.log10(10) 1.0 >>> math.sin(0) 0.0 >>> math.pi 3.141592653589793 >>> math.sin(math.pi) 1.2246467991473532e-16 Moduluaren inportazioa Moduluaren izen aduen “aldagaia” sortzen da Moduluari buruzko laguntza (definituak dauden funtzioak). Moduluaren funtzioak erabiltzeko: ModIzena.FunIzena(argumentuak) Modulu batean, funtzioez gain, aldagai bereziak (konstanteak) definituak egon litezke

Python Programazio lengoaia

Konposaketa
Adierazpen (espresio) bat, balio, aldagai, eragile eta funtzioez osotua egon liteke. Funtzioen argumentuak adierazpenen bitartez ematen dira
>>> import math >>> math.exp(math.sin(math.pi/3)) 2.3774426752361646

Funtzioak

Python Programazio lengoaia

Funtzioen definizioa
Funtzio berriak sor ditzakegu Behin funtzio bat definitua izan denean, erabili egin liteke
Funtzio baten definizioa dela adierazten du Funtzioaren sententziak indentatuak (4 hutsune) egon behar dira Funtzio honek ez du argumenturik

Funtzioak

def leloa(): print('Euskara da kanpora') print('eta goazen denok dantzara!')

>>> print(leloa) <function leloa at 0x00B936A8> >>> type(leloa) <class 'function'> >>> leloa() Euskara da kanpora eta goazen denok dantzara!

Python Programazio lengoaia

Argumentuak eta Parametroak
Argumentuak: Adierazpenak (funtzioaren erabilpena) Parametroak: Aldagaiak (funtzioaren definizioa) Funtzio bat deitzean (exekutatzean), argumentuetan erabilitako adierazpenen balioa parametroei esleituko zaie

Funtzioak

def erakutsi(hau): print('Ez dakit zer den ' + hau)
>>> erakutsi('lauki bat') Ez dakit zer den lauki bat >>> erakutsi('etxea') Ez dakit zer den etxea

Python Programazio lengoaia

Parametro eta Aldagaiak... lokalak dira
Funtzio batetako parametro eta aldagaiak soilik funtzioaren barnean existitzen dira (kanpoan ezezagunak dira)
def erakutsi(hau): mezua='Ez dakit zer den ' + hau print(mezua) >>> erakutsi('ezer') Ez dakit zer den ezer >>> print(hau) Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> print(hau) NameError: name 'hau' is not defined >>> print(mezua) Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> print(mezua) NameError: name 'mezua' is not defined

Funtzioak

Python Programazio lengoaia

Funtzio emaitzadunak... eta emaitzarik gabekoak
Emaitzadun funtzioak adierazpenetan erabil daitezke... emaitzarik gabekoak ez Ez du zentzu haundirik funtzio baten emaitzarekin ezer ez egiteak

Funtzioak

Emaitza betirako galtzen da

>>> import math >>> math.sqrt(5) 2.23606797749979 >>> x=math.sqrt(5) >>> print(x) 2.2360679775

Python Programazio lengoaia

... Zergatik erabili funtzioak?

Funtzioak

 Programak irakurtzeko eta ulertzeko errazagoak bilakatzen dira.  Programen kodea motzagoa izango da, behin eta berriro errepikatzen zen kodea funtzioen barnean jarri dugulako.  Aldaketarik egin nahi bada, behin egingo dugu, funtzioaren barnean.  Problema haundi bat azpiproblemetan zatitzean, errazagoa izango da azpiproblema bakoitza ongi ebaztea eta ondoren guztiak elkar biltzea.  Ongi diseinatutako funtzioak, beste egoera skotan erabilgarriak izango dira. Behin sortu dugunean, edonon erabil dezakegu.

Python Programazio lengoaia

ARIKETAK
1.

Funtzioak

len deritzon funtzioak, karaktere kate baten luzera (karaktere kopurua) kalkulatzen du. Alegia, len('kaixo')-ren emaitza 5 da. Sortu karaktere kate bat pantailatik erakutsiko duen eskuinPrint funtzioa. Funtzio honek karaktere katea beti 40. zutabean amaituko du (testua eskuin justifikazioarekin idatziko balitz bezala. adibidez, ondokoa ikusiko genuke komando leihoan: >>> eskuinPrint('adibide bat') adibide bat >>> eskuinPrint('hau beste adibide bat da') hau beste adibide bat da

2. Ondoko funtzioak abestiaren leloa bi aldiz erakutsiko luke: def leloax2(): leloa() leloa() Leloa 1000 aldiz baino gehiagotan erakutsiko lukeen leloaxpilabat funtzio bat sortzeko gai izango al zara?

Python Programazio lengoaia

Kontrol egiturak
 Adierazpen boolearrak  Baldintza (IF)  Errepikaketa (FOR)  Errepikaketa II (WHILE)  Ariketak

Kontrol Egiturak

Python Programazio lengoaia

Adierazpen boolearrak
True/False bueltatzen duten adierazpenak dira
Erlazio Eragileak >>> 5==5 True >>> 5==6 False >>> a=(5==5) >>> type(a) <class 'bool'> >>> type(False) <class 'bool'>

Kontrol Egiturak

x == y x != y x<y x>y x <= y x >= y
Erlazio Eragileak AdBool

KONTUZ!!!! “=” eleipena “==” berdintza

adierazpen boolearra

and AdBool AdBool or AdBool not AdBool

Python Programazio lengoaia

Adierazpen boolearrak
A True True False False A B True False True False B A and B True False False False A or B

Kontrol Egiturak

True True False False
A True False

True False True False
not A False True

True True True False

>>> a=1 >>> b=2 >>> c=3 >>> a<b and b<c True >>> a<b and b>c False >>> a<b or b>c True >>> a>b or b>c False >>> not(a<b) False >>> not(a>b) True >>> ((not(a>b)) or (c!=d)) and (a<c) True

Python Programazio lengoaia

Baldintza
Baldintza baten arabera, algoritmoaren exekuzioa ezberdina izango da

Kontrol Egiturak

if
if

<baldintza>: <sententziak>

if

<baldintza>: <sententziak> else: <sententziak>

<baldintza>: <sententziak> elif <baldintza>: <sententziak> elif <baldintza>: <sententziak> ...

if

<baldintza>: <sententziak> elif <baldintza>: <sententziak> elif <baldintza>: <sententziak> ... else: <sententziak>

Indentazioak definitzen du zer dagoen kontrol egituraren barnean

Python Programazio lengoaia

Baldintza

Kontrol Egiturak

if x>0 : print('x positiboa da')

if x%2==0 : print('x bikoitia da') else : print('x bakoitia da')
if x>y : print('x y baino haundiagoa da da') elif x<y : print('x y baino txikiagoa da da') else : print('x eta y berdinak dira')

Python Programazio lengoaia

Baldintza

Kontrol Egiturak

def maximoa2(a,b): if a>=b : return a else : return b Indentazio bikoitza

def maximoa3(a,b,c): if a>=b and a>=c: return a elif b>=c : return b else : return c

def AtzeraKontua(n): if n==0 : print('Airean!') else : print(n) AtzeraKontua(n-1)

Python Programazio lengoaia

FOR kontrol egitura
For kontrol egitura barneko sententziak, balio segida baten luzera aina aldiz errepikatuko dira. for aldagaia in balio_segida: <sententziak>
>>> for i in range(3) : print('kaixo!') kaixo! kaixo! kaixo! >>> for i in range(3) : print('kaixo!',i) kaixo! 0 kaixo! 1 kaixo! 2

Kontrol Egiturak

Aldagaiak segidako balioak jasoko ditu iterazio bakoitzean

Balio segidak sortzeko gai izan behar gara

3 elementutako segida bat sortu du i aldagaiak segidako balioak jasotzen ditu... beraz, segidako balioak 0 1 eta 2 dira

Python Programazio lengoaia

range() funtzioa
Zenbaki segida bat sortzen du: range([start,] stop[, step])

Kontrol Egiturak

Ez da balio honetara iritsiko

>>> for i in range(4) : print(i) 0 1 2 3 >>> for i in range(1,4) : print(i) 1 2 3 >>> for i in range(1,4,2) : print(i) 1 3

Jartzen ez badugu, 0-tik hasiko da.

Urratsa edo gehikuntza

def AtzeraKontua(n): if n==0 : print('Airean!') else : print(n) AtzeraKontua(n-1) def AtzeraKontua2(n): for i in range(n,0,-1) : print(i) print('Airean!')

Python Programazio lengoaia

WHILE kontrol egitura
Baldintza bat betetzen den bitartean kontrol egitura barneko sententziak errepikatuko dira while <baldintza>: <sententziak>

Kontrol Egiturak

def zkh(a,b): h=a%b while h!=0 : a=b b=h h=a%b return b

Python Programazio lengoaia

FOR vs WHILE
Exekuzio kopurua aurrez jakin daitekeenean, FOR. Beste kasuetan, WHILE.

Kontrol Egiturak

def AtzeraKontua2(n): for i in range(n,0,-1) : print(i) print('Airean!')

Exekuzio kopurua: n

def zkh(a,b): h=a%b while h!=0 : a=b b=h h=a%b return b

Exekuzio kopurua: ???

Python Programazio lengoaia

break sententzia
Bigizta baten exekuzioa amaitzen du

Kontrol Egiturak

>>> for i in range(1000) : if i != 4 : print(i) else : break 0 1 2 3

break sententzia exekutatzean, bigizta “hautsi” egiten da.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->