Kompjûters, Programming
Python taal: loops
De Python programmeartaal (as "Python" of "Python") Der binne ferskate manieren om loop wat aksje. De wichtichste ark foar útfiering fan in werhellingen op Python - wylst loops en foar. De wylst loop is mear universeel as foar, dus it is stadiger. Lykwols, dit betsjut net, dat it is better! De foar de loop wurdt brûkt faker, omdat by it realisearre it dreechste taken foar de oprjochting fan multi-nivo en mnogouslovnyh programma.
Python: cycle mei postcondition
Cycles mei postcondition - It loops wylst, dat binne de meast universele organisatoarysk struktueren yn de programmearring omjouwing. De wylst loop aktyf op it prinsipe fan "sa lang as". Dit betsjut de folgjende: wylst in bepaalde kondysje sil weromkomme in wiere wearde, dan sil it wurk! Dit ûntwerp hjit in "syklus" omdat de funksjonele behear fan cyclically werhelle, begjint mei de earste wearde. Út yn 'e syklus wylst Python wurde útfierd op it stuit doe't de wearde wurdt falsk. Op dit punt, de tolk stjoert it programma foar de folgjende funksjoneel-semantyske segment, oftewol in nije rigel, dat leit nei it blok mei de postcondition wylst.
Yn programmearring talen, Python fytst wylst postcondition hawwe de folgjende syntaksis:
1. Wylst (betingst): 2. ekspresje |
Expression kin wêze itsij ien ferklearring of meardere. Betingst is altyd in wiere betsjutting fan in net-nul. Dit ûntwerp wurket sa lang as de oantsjutte betingst is wier.
Mei help fan fytse wylst yn de "Python" bygelyks
Rassmotirim wylst loop. Python is hiel nijsgjirrich struktueren syn werhellings:
a = 0 |
Wy hawwe ferklearre de fariabele "in" en frege har ta nul. Doe sette de betingsten "wylst in <7", dat is, wylst de fariabele "a" is minder as de nûmer "7", dan ús loop sil útfierd wurde salang't der is falsk.
In wier is (dat is, sil der útgean út de syklus) It sil wêze as de fariabele sil grutter wêze as it oantal "7". Om dit te barren, it is eltse kear incremented troch 1, dat wy wize op yn it "a = a + 1".
As jo rinne dizze konstruksje, de letter "A" sil te sjen wêze 7 kear yn in kolom!
A |
Endless loop wylst yn Python
Hoe meitsje in einleaze lus yn Python wylst? Tink net dreech, omdat de syklus rint oant oant it krijt in falske wearde, en as dizze wearde is gewoan net dêr? It antwurd op de fraach is nei alle gedachten al sa alles is dúdlik. Yn guon gefallen, in ûneinige luds is nedich om in probleem oplosse? Dit foarbyld sil tsjinje as ta stân bringen fan sa'n programma, lykas in "klok." Hjir, fansels, jo moatte brûke in ûneinige luds, dat sil wurde permanint fernijd en lit de tiid.
Ûneinige luds is faak in flater begjinnende programmeurs dy't ferjitte te foegjen in feroaring syklus betingsten.
Lit ús ris efkes yn de folgjende stik fan Python koade. De fytst yn dit gefal iterated foar ûnbepaalde tiid (nei de "#" karakter is in kommintaar):
number = 1 # ferklearje in fariabele nûmer en takenne it in wearde fan 1 wylst nûmer <10: # create de postcondition, dy't telle minder as 10 print 'Hello' # condition (print «Hello» berjocht) |
Sa'n programma moat net draaf nei compile, omdat it sil rinne ûnbeheind. Wy fregen sokke omstannichheden dy't sille nea wêze falske wearden betingst «getal <10" yn dit gefal en altyd wier, sadat it mei werhellingen sil wêze oanhâldend bringen N-th oantal "Hello" berjochten. Om te stopjen it proses fan it gearstallen fan de ivich, jo moatte druk de kaai kombinaasje Ctrl + C yn 'e dop.
Python: syntax. Wylst, en foar loops
Lykas sein boppe, yn 'e taal fan' e "Python" programmearring, binne der ferskate manieren om mei in herhelling groep uterings. It giet om it Rescue lus foar, dat is in bytsje oars út syn tsjinhinger wylst, omdat it ûntwerp is in bytsje mear komplisearre as gewoan postcondition. lit ús net prate oer de universaliteit fan 'e syklus, omdat it sljochtwei net, lykwols sein wurde dat it foar de loop is folle hurder as in skoftke. In ferskaat oan manieren te lossen it ûntwerp en de útfiering fan dizze lytse outperform fytse mei postcondition, dus it is folle mear kâns om te brûke te fieren soad lytse taken.
Wat binne de útdagings konfrontearre de syklus foar? Sûnder mis, deselde as dy fan 'e wylst - Iterate alle prosessen. It programma oantekeningen makke op de "python", wurdt in soad brûkt loop foar, dy't by steat is fan útfiering traversal foarbeskaaide mearfâldichheid fan eleminten en te fieren yn syn ûnderskate liif iterating oer hjarren. Features fan dit ûntwerp kin brûkt wurde yn ferwurkjen linen of listen krekt as alle oare foarwerp iterated.
Foarbyld fan gebrûk foar de syklus yn Python
Litte we sizze wy hawwe wat list fan nûmers, en wy moatte elk elemint (dws. E. Number) tanommen troch trije ienheden. Om it útfieren fan sa'n misje wy kinne troch de lus, foar loop metoaden.
Litte we ris op in flugge foarbyld, dêr't wy sille útfiere de passende aksje foar dizze (neidat de "#" karakter is in kommintaar):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # ferklearre array containing 10 sifers count = 0 # makke counter mei nul foar eleminten yn spisok_chisel: # Iterate oer de rige en skriuw it yn 'e eleminten spisok_chisel [telle] = eleminten + # 3 tal tanimmend ferskaat oan trije count = telle + 1 # gean nei it folgjende nûmer op de yndeks |
It resultaat fan it boppesteande konstruksje sil wêze:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
Yn ús foarbyld, der is in fariabele greve, dy't wy nedich om te fieren de feroarjende wearden yn 'e rige «spisok_chisel». De fariabele greve wurdt opnommen in yndeks wearde fan elk elemint yn de array (elk getal yn de list). Fariabele «eleminten» ferbynt de ûntstiene wearde yn 'e list. Yn de foar lus, wy sjogge hoe't de útfiering fan it ferwurkjen fan eltse foarwerp yn de numerike list. Binnen de loop, elk numerike foarwerp mei index «count» tafoege it bedrach fan 'e hjoeddeistige iterated elemint en trije. Dan ús yndeks «telle» ferhege troch iene, en de stream fan de útfiering fan it programma jout oan it begjin fan de bou advertinsjes foar. Sa, de lus sil rinne oant oant it hat ferwurke elk elemint yn 'e rige, jûn troch it betingst. As eltse elemint is ûntbrekkende, mar wurdt ynsteld troch de steat, de syklus is kompleet. Wy lûke omtinken oan ien ding: as jo net skriuwe in line fan «count = telle + 1", nettsjinsteande it feit dat in rige fan objekten ferwurke sukses, it resultaat sil altyd wurde tafoege oan de earste numerike foarwerp index nul c.
No kinne wy tinke oer wylst loop operaasje begjinsels en identifisearje it ferskil (sin brocht wurde dat yn Python út de syklus mei postcondition wurdt útfierd op basis fan de logyske kritearia - true (de syklus giet) of-wier is (de syklus stoppet)).
Hoe te behanneljen in string yn Python mei help fan it ûntwerp foar?
Yn alle programmeartaal der binne fytst, en se wurkje, meastal op 'e selde prinsipe, de ferskillen sichtber allinnich yn' e syntaksis. Lykwols, it foar lus yn 'e taal "Python" is net in gewoane en triviale, omdat it prinsipe fan syn operaasje is net beheind ta de toanbank. Dit ûntwerp enumerates elk item apart. Dit alles kinne maklik ferklearre troch it foarbyld fan it wurkjen mei snaren, mar earst litte wy omgean mei de gearstalling fan de syklus foar:
foar fariabele
It wurdt opslein yn in fariabele syklus operaasje resultaat
yn peremennaya_2
kaai wurd «yn» - it is in betingst as it wurkjen mei «foar» syklus. Ut peremennoy_2 wy lûke de wearde dy't sil wurde iterated. Foar de dúdlikens, en dúdlikens, lit we ris nei in lyts foarbyld fan hoe't it wurk en te sortearjen snaren yn Python:
char = 'programmearring' # ferklearje in fariabele en tawize in tekenrigewearde foar slovo in char: # Meitsje in fariabele slovo, dat sil fierder busting koades fan fariabele char print (slovo, ein = '^') # Utfier de slovo en nei elke brief, ynfoegje in symboal - in fûgel. |
It resultaat fan it skript:
P ^ p ^ o ^ r ^ r ^ a ^ m ^ m ^ ^ en p ^ o ^ a ^ a ^ n ^ en ^ e |
trochgean statement
operator trochgean mei de útfiering fan de oergong nei de útfiering fan 'e folgjende syklus, jûn troch it betingst, nettsjinsteande it lykwicht fan' e lus. Brûk de trochgean ferklearring kin wêze yn twa fytst - foar en skoft.
Betink dit foarbyld:
foar count yn 'repeat elke brief, útsein foar' as count == 'o': trochgean print (count * 2, ein = '') |
It resultaat sil de folgjende:
Ppvvttrriimm kkaazhzhdduuyuyu bbuukkvvuu ,, kkrrmmee |
As de handler fûn in brief "o" yn 'e string' repeat elke brief, útsein foar 'de útfiering fan it programma wie fuortendaliks trochstjoerd oan de line nei it wurd' 'fierdergean' ', dêr't de betingst wie ynsteld om duplicate eltse brief.
break statement
Kaaiwurd «break» ynfoege op it plak dêr't de syklus is wurde ûnderbrutsen sûnder wachtsje op dit klear, dy't jown wier troch de betingst. Dit ûntwerp wurdt faak brûkt as it skriuwen programma mei in soad fan 'e logika en betingsten.
Betink in lyts foarbyld fan it wurk break statement:
foar count yn 'repeat elke brief, útsein foar' as count == 'o': break print (count * 2, ein = '') |
It resultaat sil de folgjende:
nn |
As de handler fûn in brief "o" yn 'e string' repeat elke brief útsein foar 'de útfiering fan it programma wie fuortendaliks stilgelegd, nettsjinsteande it feit dat de kommende line befettet in pear fan de betingsten foar de syklus.
It magic wurd oars
Yn in rige fan hokker soarte kin jilde de operator oars. Wat is dat foar? Er ek sjeks dat hie begien út 'e lus betsjut in skoft of de gebrûklike manier. Blokkearje mei foarbeskaaide regels yn útfiering oars begjinne pas as de betingst dat de útfier fan de syklus waard útfierd sûnder it brûken fan break struktuer.
Betink in lyts foarbyld:
foar count yn 'Hello world': as count == 'ik': break oars: print ( 'Jo sin hat gjin brief' ik '') |
De útfier fan it skript:
Jo sin is net de letter "I" |
Foarbylden fan fytst yn de omkearde folchoarder fan de Python programmeartaal
Lykas útfierd yn Python reverse syklus? Lit ús yntinke dat it skriuwen fan in programma dat moat om it karakter line en printsjen it yn omkearde folchoarder. Hoe te fieren dit?
Tink oan it foarbyld hjirûnder:
slovo = 'Programming' new_slovo = [] foar graaf in berik (len (s), 0, -1): new_slovo.append (s [i-1]) new_slovlo [ 'P', 'p', 'o', 'g', 'p', 'in', 'm', 'm', 'u', 'p', 'o', 'in', ' a ',' n ',' u ',' e '] print (new_slovo) [ 'P', 'p', 'o', 'g', 'p', 'in', 'm', 'm', 'u', 'p', 'o', 'in', ' a ',' n ',' u ',' e '] print ( ''. join (new_slovo)) |
It resultaat fan it skript:
einavorimmargorp |
briede loops
Yn Python, der binne ek syklussen fan programmearring en ynvestearrings, dat is pleatst yn it lichem fan in oar. Yn eltse syklus kin wêze in briede lus, en sa is it mooglik om te bouwen in ljedder oant yn it ûneinige. Yn de earste mei werhellingen fan it bûtenste lus wurdt lutsen mei in oprop oan 'e binnenste lus, dy't útfierd wurdt foar it ôfmeitsjen fan syn eigen, dan behearskje alle omlieden yn it lichem fan' e uterlike lus. Eltse taal hat syn eigen skaaimerken fan briede loops, lit we ris nei hoe't se wurkje yn de "Python" taal.
As jo briede loops, Python biedt de folgjende syntaksis:
foar fariabele in opienfolging fan fariabelen: foar fariabele in opienfolging fan fariabelen aksje (s) aksje (s) |
De bysûndere skaaimerken fan briede loops is it feit dat yn 'e syklus fan in type kin brûkt wurde as elts type syklus! Dat betsjut dat der yn in syklus wylst (of foar) wurde kin ynbêde foar in syklus of wer wylst en oarsom.
Similar articles
Trending Now