Idi nazad   Croportal Forum > Tehnologija i Tehnika > Tutoriali i Trikovi
Registracija FAQ Lista korisnika Kalendar Pretraži Današnje Poruke Označi forume pročitanima Online igre


Tutoriali i Trikovi Raspravljate o temi Tuple i While Naredba u Tehnologija i Tehnika forumu; Tuple i WHILE naredba Dobrodošli u četvrti Python tutorial. Ovaj put ćemo se pozabaviti tupleima (koji su slični listama, ...

Odgovor
 
Opcije Teme
Star 09-02-06, 02:02   #1 (permalink)
Administrator
 
Avatar od korisnika Kristijan
 
Datum registracije: 20-02-04
Lokacija: Hrvatska / Dubrava
Godina: 22
Poruka: 17,825
Kristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svimaKristijan je poznat svima
Pošalji poruku preko ICQ-a korisniku Kristijan Pošalji poruku preko MSN-a korisniku Kristijan Pošalji poruku preko Skype-a korisniku Kristijan
Tuple i While Naredba

Tuple i WHILE naredba

Dobrodošli u četvrti Python tutorial. Ovaj put ćemo se pozabaviti tupleima (koji su slični listama, samo se ne mogu mijenjati) i WHILE naredbom, tj. loopom

Tuple

Do sada ste upoznali dva tipa podataka - string i list. String se ne može mijenjati, a list može. Sada ćemo upoznati još jedan tip podataka, a to je tuple. Tuple je vrlo sličan listu - samo se podaci u tupleu ne mogu mijenjati.

Tuple definiramo ovako:

Kod:
music= 'winmx', 'audiogalaxy', 'mp3.com', 'listen4ever.com', 'zweistein.web'
Kao što vidimo, veoma slično listu, samo što nema uglatih zagrada. Zapravo, i tuplei koriste zagrade (ali ne uglate, već zaobljene - ( i )), ali one nisu potrebne. Tako gornji tuple možemo napisati ovako:

Kod:
music =('winmx', 'audiogalaxy', 'mp3.com', 'listen4ever.com', 'zweistein.web')
Ukoliko želimo napraviti tuple sa samo jednim unosom (što je potrebno ako želimo već postojećem tupleu dodati nešto novo - objašnjeno kasnije), jednostavno dodamo zarez iza stringa:

Kod:
music2 = ('uraniummusic.com',)
što daje isti rezultat kao gornji primjer.

Za tuple vrijedi gotovo sve kao i za liste:

Kod:
>>> type(music)  # sa funkcijom type možemo saznati kojeg nam je tipa neka varijabla -
# str, int, tuple, list...
<type 'tuple'>
>>> print music[0]
winmx
>>> print music[3]
listen4ever.com
>>> music = music + music2
>>> print music
('winmx', 'audiogalaxy', 'mp3.com', 'listen4ever.com', 'zweistein.web', 'uraniummusic')
Ali, ukoliko pokušamo nešto mijenjati:

Kod:
>>> del music[5]
Traceback (most recent call last):
  File "<input>", line 1, in ?
TypeError: object doesn't support item deletion
>>> music[5] = "lambgoat.com"
Traceback (most recent call last):
  File "<input>", line 1, in ?
TypeError: object doesn't support item assignment
Ili, ukoliko pokušamo pridružiti neki drugi tip podataka tupleu:

Kod:
>>> music = ('winmx', 'audiogalaxy', 'mp3.com', 'listen4ever.com', 'zweistein.web')
>>> music2 = "uraniummusic"
>>> music = music + music2
Traceback (most recent call last):
  File "<input>", line 1, in ?
TypeError: can only concatenate tuple (not "str") to tuple
Tuplei su korisni za čuvanje podataka za koje ne želite da korisnici mijenjaju.


While loop

Upoznali smo for loop - loop koji se koristi za prolazak kroz sve elemente neke liste, tuplea, stringa ili nekog drugog tipa podataka.
Sada dolazi while loop. While loop je loop koji se ponavlja sve dok određeni uvjet nije zadovoljen; recimo - sve dok a nije jednak 10 ili sve dok je a = 10.

Pogledajmo primjer jednog jednostavnog while loopa:

Kod:
a = 0
while a <= 10:
    print "Hello"
    a = a + 1
Iz ovoga dobivamo:

Kod:
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Analizirajmo kod:
u prvoj liniji se varijabla a postavlja na vrijednost nula. Drugu liniju je lako objasniti ako se pročita na običnom engleskom: "While a less or equal 10". Znači, izvršavaj sljedeće naredbe sve dok je a manji ili jednak 10.
Sljedeća linija ispisuje string "Hello", a sljedeća uvećava varijablu za 1. Tu liniju smo mogli pisati i kao a += 1.

Pogledajmo što bi se dogodilo kad bi ispustili posljednju liniju - a = a + 1:

Kod:
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
# još nekoliko desetaka puta ovako ;-)
# prekinuto sa CTRL+C
Traceback (most recent call last):
  File "<pyshell#3>", line 2, in ?
   print "Hello"
  File "C:PYTHON22ToolsidlePyShell.py", line 679, in write
   self.shell.write(s, self.tags)
  File "C:PYTHON22ToolsidlePyShell.py", line 670, in write
   raise KeyboardInterrupt
KeyboardInterrupt
Ovo se stručno naziva "infinite loop" - loop iz kojeg nema izlaska. Ako bolje pogledate kod vidjet ćete , budući da se varijabla a ne uvećava (konstantno ostaje 0), da iz loopa nema izlaska; tj. uvjet se nikad ne zadovoljava.

To rezultira beskonačnim ponavljanjem zadanih naredbi.

Ima jedan vic vezan uz ovo:
Zašto je programer umro pod tušem? Jer na šamponu piše "Našamponiraj, isperi, ponovi..." ;-)

Naravno, pri definiranju uvjeta se mogu koristiti operatori koje smo naveli u drugom tutorialu:

Kod:
Uvjet			Primjena
-------------------------------------------
==			jednako
!=			nejednako
>			veće
<			manje
>=			veće ili jednako
<=			manje ili jednako
Kristijan je online sada  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Star 29-01-07, 17:32   #2 (permalink)
lav
Starter
 
Datum registracije: 29-01-07
Poruka: 1
lav se izdvaja iz mase
Re: Tuple i While Naredba

da li može netko netko napisati konkretan primjer(tj. program) gdje se koriste liste, rijčnici, tuplesi??!
lav je offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Odgovori sa citatom
Odgovor
Tagovi: python, tuple, while



Broj korisnika koji trenutno prate ovu Temu: 1 (0 članova i 1 gosta)
 
Opcije Teme

Pravila poruka
Vi smijete ne otvarati nove teme
Vi smijete ne odgovarati na poruke
Vi smijete ne slati privitke
Vi smijete ne urediti vašu poruku

vB Kod je Uključen
Smajlići Kod je Uključen
[IMG] kod je Uključen
HTML kod je Isključen
Trackbacks are Isključen
Pingbacks are Isključen
Refbacks are Isključen


Trenutno vrijeme na forumu: 17:47.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114