local-stats-pixel fb-conv-api

Pitōns D[cikli daļa otrā]8

12 10

Iepriekšējā rakstā pastāstīju par dažāda vieda cikliem un to, ka ja labi iemācas saprast atšķirību starp dažāda veida cikliem, tas ievērojami var atvieglot programmēšanu. Šo daļu veltīšu, manuprāt vieglāk saprotamajam cikla veidam, nosacījuma piepildīšās ciklam. Nosacījuma piepildīšanās cikls, kā jau minēju sākas ar komandu 'if', aiz kuras seko nosacījums, kuram ir jāpiepildas, lai tiktu veikta kāda darbība, ko ietver šis cikls. Neskatoties uz to, šo ciklu var papildīnāt ar papildus ciklu, kas izpildīsies tādā gadījumā, ja nosacījuma piepildīšanās ciklā ietvertais nosacījums nerealizēsies vai būs nepaties (False), tādā gadījumā nosacījuma piepildīšanās cikls ir turpināms ar komandu 'else' aiz kuras sekos kols ':' un darbības, jaunā rindiņā ar atstarpi, kuras vēlies, lai tiktu veiktas, ja nosacījuma piepildīšanās cikls nerelaizējas.

Pirms sāku rakstīt piemēru, gribu iepazīstināt ar vēlvienu programmēšanas rīka pitōns komandu 'raw_input', aiz kuras iekavās var iekļaut zīmju rindu, kura nepieciešama ievades norādēm. Komanda 'raw_input' ļauj ievadīt zīmju rindu pēc programmas palaišanas, kuru var attiecināt uz tevis noteiktu elementu programmā.
Kā arī gribu atgādināt par komandas 'len' izmantošanu, šī komanda attainos elementa vienību skaitu, kas zīmju rindas gadījumā būs zīmes tajā.

a=raw_input('Ievadi savu vardu: ')
b='Sveiks '
c='Sveiks/a '
if a[len(a)-1)=='s':

print b+a+'!'
else:

print c+a+'!'

Vēl nosacījuma piepildīšanās ciklu var papildināt ar papildus nosacījumiem, kuru sakits var būt neirobežots, bet es neietektu pārāk aizrauties ar to izmantošanu, tam, manuprāt, peimērotāks ir elementu skaita cikls. Lai iekļautu papildus nosacījumus nosacījuma piepildīšanās ciklā, tas ir panākams ar komandu 'elif', aiz kuras seko papildus nosacījums, nosacījuma piepildīšanās ciklam, kā arī beigās var tikt izmantota komanda 'else', kura paredzēta darbību iekļaušanai, ja neviens no nosacījumiem nerealizēsies.

d=raw_input('Ievadi savu vardu: ')
e='Sveik{0} {1}!'
if d[len(d)-1]=='s':

print e.format('s',d)
elif d[len(d)-1]=='o':

print e.format('s',d)
elif d[len(d)-1]=='a':

print e.format('a',d)
elif d[len(d)-1]=='e':

print e.format('a',d)
else:

print 'Iemacies uzrakstit savu vardu!'

mēģini, vērtē, komentēemotion

12 10 8 Ziņot!
Ieteikt: 000
Spoki.lv logo
Spoki.lv

Komentāri 8

0/2000

"if" nav cikls emotion 

5 0 atbildēt

Ciklā aiz nosacījuma nāk darbību bloks, kuru pilda tik ilgi, kamēr cikla nosacījums tiek izpildīts. Tāpēc tas ari ir cikls, jo darbības periodiski atkārtojas zināmu reižu skaitu.

Operatorā if aiz nosacījuma seko divas darbības, no kurām izpildās tikai viena un tikai vienu reizi- kura ir atkarīgs no tā vai nosacījums izpildās, vai nē.

elif= else+if. Tas nenozīmē, ka kautkas atkārtojas. Tasnozīmē, ja nosacījums neizpildas, programmai jāveic jauna pārbaude ar jaunu nosacījumu.

Vienkārš cikla pimērs: 

for(j=0;j<10;j++){

                    mainigais[j]=Math.floor(Math.random());

                    }

Šitas gan ir js, bet nav svarīgi- as you can see, sākuma j vērtība ir 0, cikla darību jāatkārtotā tik ilgi, kamēr skaitītājs(j) ir mazāks par 10, katru cikla atkārtojuma reizi to palielinot par 1. 

Tur, ka svrīgi saprats atšķirību starp cikliem tev ir pilnīga taisnība, bet, ja tu if uzskatīsi par ciklu, tas tev var radīt problēmas.   emotion  

3 0 atbildēt