logo

Riadiace štruktúry v Pythone

Väčšina programov nepracuje na základe priamej postupnosti príkazov. Je napísaný kód, ktorý umožňuje výber a niekoľko ciest cez program, ktoré sa majú sledovať v závislosti od posunov v hodnotách premenných.

Všetky programovacie jazyky obsahujú vopred zahrnutú sadu riadiacich štruktúr, ktoré umožňujú vykonávanie týchto riadiacich tokov, čo je mysliteľné.

Tento tutoriál bude skúmať, ako pridať slučky a vetvy, t. j. podmienky do našich programov Python.

Typy riadiacich štruktúr

Riadiaci tok sa týka sekvencie, ktorú bude program sledovať počas svojho vykonávania.

Podmienky, cykly a volanie funkcií výrazne ovplyvňujú spôsob ovládania programu Python.

V Pythone existujú tri typy riadiacich štruktúr:

  • Sekvenčné – predvolené fungovanie programu
  • Výber - Táto štruktúra sa používa na rozhodovanie pomocou kontroly podmienok a vetvenia
  • Opakovanie - Táto štruktúra sa používa na cyklovanie, t.j. opakované vykonávanie určitého kusu bloku kódu.

Sekvenčné

Sekvenčné príkazy sú množinou príkazov, ktorých proces vykonávania prebieha v sekvencii. Problém sekvenčných príkazov je v tom, že ak sa logika pokazila v ktoromkoľvek z riadkov, preruší sa úplné spustenie zdrojového kódu.

kód

niť.zničiť
 # Python program to show how a sequential control structure works # We will initialize some variables # Then operations will be done # And, at last, results will be printed # Execution flow will be the same as the code is written, and there is no hidden flow a = 20 b = 10 c = a - b d = a + b e = a * b print('The result of the subtraction is: ', c) print('The result of the addition is: ', d) print('The result of the multiplication is: ', e) 

Výkon:

 The result of the subtraction is: 10 The result of the addition is : 30 The result of the multiplication is: 200 

Kontrolné príkazy výberu/rozhodnutia

Príkazy používané v štruktúrach kontroly výberu sa tiež označujú ako rozvetvovacie príkazy alebo, keďže ich základnou úlohou je robiť rozhodnutia, príkazy na kontrolu rozhodovania.

Program môže testovať mnoho podmienok pomocou týchto výberových príkazov av závislosti od toho, či je daná podmienka pravdivá alebo nie, môže vykonávať rôzne bloky kódu.

Môže existovať mnoho foriem štruktúr kontroly rozhodovania. Tu sú niektoré najčastejšie používané riadiace štruktúry:

  • Iba ak
  • ak-inak
  • Vnorené ak
  • Kompletný if-elif-others

Jednoduché ak

Ak sa príkazy v Pythone nazývajú príkazy riadiaceho toku. Výberové príkazy nám pomáhajú pri spustení určitej časti kódu, ale iba za určitých okolností. Existuje iba jedna podmienka na testovanie v základnom príkaze if.

Základná štruktúra príkazu if je nasledovná:

Syntax

 if : The code block to be executed if the condition is True 

Tieto vyhlásenia budú vždy vykonané. Sú súčasťou hlavného kódu.

Všetky príkazy napísané odsadené za príkazom if sa spustia, ak je zadávateľ podmienky za kľúčovým slovom if True. Iba príkaz kódu, ktorý bude vždy vykonaný bez ohľadu na to, či je podmienka zapísaná v súlade s hlavným kódom. Python používa tieto typy odsadení na identifikáciu bloku kódu konkrétneho príkazu riadiaceho toku. Zadaná štruktúra ovládania zmení tok iba tých odsadených príkazov.

Tu je niekoľko príkladov:

kód

 # Python program to show how a simple if keyword works # Initializing some variables v = 5 t = 4 print(&apos;The initial value of v is&apos;, v, &apos;and that of t is &apos;,t) # Creating a selection control structure if v &gt; t : print(v, &apos;is bigger than &apos;, t) v -= 2 print(&apos;The new value of v is&apos;, v, &apos;and the t is &apos;,t) # Creating the second control structure if v <t : print(v , 'is smaller than ', t) v +="1" print('the new value of is v) # creating the third control structure if t: v, ' and t,', t, are equal') < pre> <p> <strong>Output:</strong> </p> <pre> The initial value of v is 5 and that of t is 4 5 is bigger than 4 The new value of v is 3 and the t is 4 3 is smaller than 4 the new value of v is 4 The value of v, 4 and t, 4, are equal </pre> <h3>if-else</h3> <p>If the condition given in if is False, the if-else block will perform the code t=given in the else block.</p> <p> <strong>Code</strong> </p> <pre> # Python program to show how to use the if-else control structure # Initializing two variables v = 4 t = 5 print(&apos;The value of v is &apos;, v, &apos;and that of t is &apos;, t) # Checking the condition if v &gt; t : print(&apos;v is greater than t&apos;) # Giving the instructions to perform if the if condition is not true else : print(&apos;v is less than t&apos;) </pre> <p> <strong>Output:</strong> </p> <pre> The value of v is 4 and that of t is 5 v is less than t </pre> <h2>Repetition</h2> <p>To repeat a certain set of statements, we use the repetition structure.</p> <p>There are generally two loop statements to implement the repetition structure:</p> <ul> <li>The for loop</li> <li>The while loop</li> </ul> <h3>For Loop</h3> <p>We use a for loop to iterate over an iterable Python sequence. Examples of these data structures are lists, strings, tuples, dictionaries, etc. Under the for loop code block, we write the commands we want to execute repeatedly for each sequence item.</p> <p> <strong>Code</strong> </p> <pre> # Python program to show how to execute a for loop # Creating a sequence. In this case, a list l = [2, 4, 7, 1, 6, 4] # Executing the for loops for i in range(len(l)): print(l[i], end = &apos;, &apos;) print(&apos;
&apos;) for j in range(0,10): print(j, end = &apos;, &apos;) </pre> <p> <strong>Output:</strong> </p> <pre> 2, 4, 7, 1, 6, 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, </pre> <h3>While Loop</h3> <p>While loops are also used to execute a certain code block repeatedly, the difference is that loops continue to work until a given precondition is satisfied. The expression is checked before each execution. Once the condition results in Boolean False, the loop stops the iteration.</p> <p> <strong>Code</strong> </p> <pre> # Python program to show how to execute a while loop b = 9 a = 2 # Starting the while loop # The condition a <b 1 will be checked before each iteration while a < b: print(a, end=" " ) + print('while loop is completed') pre> <p> <strong>Output:</strong> </p> <pre> 2 3 4 5 6 7 8 While loop is completed </pre> <hr></b></pre></t>

ak-inak

Ak je podmienka zadaná v if False, blok if-else vykoná kód t=daný v bloku else.

kód

 # Python program to show how to use the if-else control structure # Initializing two variables v = 4 t = 5 print(&apos;The value of v is &apos;, v, &apos;and that of t is &apos;, t) # Checking the condition if v &gt; t : print(&apos;v is greater than t&apos;) # Giving the instructions to perform if the if condition is not true else : print(&apos;v is less than t&apos;) 

Výkon:

 The value of v is 4 and that of t is 5 v is less than t 

Opakovanie

Na opakovanie určitého súboru výrokov používame štruktúru opakovania.

Vo všeobecnosti existujú dva príkazy cyklu na implementáciu štruktúry opakovania:

  • Slučka for
  • Slučka while

Pre Loop

Na iteráciu cez iterovateľnú sekvenciu Pythonu používame cyklus for. Príkladmi týchto dátových štruktúr sú zoznamy, reťazce, n-tice, slovníky atď. Do bloku kódu cyklu for zapisujeme príkazy, ktoré chceme opakovane vykonávať pre každú položku sekvencie.

inštalácia baterky

kód

 # Python program to show how to execute a for loop # Creating a sequence. In this case, a list l = [2, 4, 7, 1, 6, 4] # Executing the for loops for i in range(len(l)): print(l[i], end = &apos;, &apos;) print(&apos;
&apos;) for j in range(0,10): print(j, end = &apos;, &apos;) 

Výkon:

 2, 4, 7, 1, 6, 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 

Kým slučka

Zatiaľ čo slučky sa používajú aj na opakované vykonávanie určitého bloku kódu, rozdiel je v tom, že slučky pokračujú v práci, kým nie je splnená daná podmienka. Výraz sa kontroluje pred každým vykonaním. Akonáhle je výsledkom podmienky logická hodnota False, cyklus iteráciu zastaví.

kód

 # Python program to show how to execute a while loop b = 9 a = 2 # Starting the while loop # The condition a <b 1 will be checked before each iteration while a < b: print(a, end=" " ) + print(\'while loop is completed\') pre> <p> <strong>Output:</strong> </p> <pre> 2 3 4 5 6 7 8 While loop is completed </pre> <hr></b>