logo

Řídicí struktury v Pythonu

Většina programů nefunguje tak, že provádí přímou sekvenci příkazů. Je napsán kód, který umožňuje provádět volby a několik cest programem, které mají být následovány v závislosti na posunech hodnot proměnných.

Všechny programovací jazyky obsahují předem zahrnutou sadu řídicích struktur, které umožňují provádění těchto řídicích toků, což je myslitelné.

Tento tutoriál prozkoumá, jak přidat smyčky a větve, tj. podmínky do našich programů v Pythonu.

Typy řídicích struktur

Řídicí tok se týká sekvence, kterou bude program sledovat během svého provádění.

Podmínky, smyčky a funkce volání významně ovlivňují způsob ovládání programu v Pythonu.

V Pythonu existují tři typy řídicích struktur:

  • Sekvenční – výchozí fungování programu
  • Výběr - Tato struktura se používá pro rozhodování pomocí kontroly podmínek a větvení
  • Opakování - Tato struktura se používá pro opakování, tj. opakované provádění určitého kusu bloku kódu.

Sekvenční

Sekvenční příkazy jsou množinou příkazů, jejichž provádění probíhá v sekvenci. Problém se sekvenčními příkazy je v tom, že pokud se na některém z řádků porouchá logika, přeruší se kompletní provedení zdrojového kódu.

Kód

nit.zničit
 # 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ýstup:

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

Kontrolní příkazy výběru/rozhodnutí

Příkazy používané ve strukturách kontroly výběru se také označují jako větvené příkazy nebo, protože jejich základní úlohou je přijímat rozhodnutí, příkazy kontroly rozhodování.

Program může testovat mnoho podmínek pomocí těchto výběrových příkazů a v závislosti na tom, zda je daná podmínka pravdivá nebo ne, může provádět různé bloky kódu.

Existuje mnoho forem struktur kontroly rozhodování. Zde jsou některé nejčastěji používané řídicí struktury:

  • Jen když
  • pokud-jinak
  • Vnořené if
  • Kompletní if-elif-others

Jednoduché kdyby

Pokud se příkazy v Pythonu nazývají příkazy řídicího toku. Výběrové příkazy nám pomáhají při spuštění určité části kódu, ale pouze za určitých okolností. V základním příkazu if je k testování pouze jedna podmínka.

Základní struktura příkazu if je následující:

Syntax

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

Tyto příkazy budou vždy provedeny. Jsou součástí hlavního kódu.

Všechny příkazy napsané odsazené za příkazem if budou spuštěny, pokud je dárce podmínky za klíčovým slovem if True. Pouze příkaz kódu, který bude vždy proveden bez ohledu na to, zda je podmínka zapsána zarovnaná s hlavním kódem. Python používá tyto typy odsazení k identifikaci bloku kódu konkrétního příkazu toku řízení. Zadaná řídicí struktura změní tok pouze těchto odsazených příkazů.

Zde je několik příkladů:

ovládání uloženého programu

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>

pokud-jinak

Pokud je podmínka zadaná v if False, blok if-else provede 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ýstup:

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

Opakování

K opakování určité množiny výroků používáme strukturu opakování.

Obecně existují dva příkazy smyčky pro implementaci struktury opakování:

  • Smyčka for
  • Smyčka while

Pro Loop

K iteraci přes iterovatelnou sekvenci Pythonu používáme cyklus for. Příklady těchto datových struktur jsou seznamy, řetězce, n-tice, slovníky atd. Pod blok kódu smyčky for zapisujeme příkazy, které chceme opakovaně provádět pro každou položku sekvence.

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ýstup:

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

Zatímco smyčka

Zatímco smyčky se také používají k opakovanému provádění určitého bloku kódu, rozdíl je v tom, že smyčky pokračují v práci, dokud není splněna daná podmínka. Výraz se kontroluje před každým provedením. Jakmile podmínka vyústí v Boolean False, smyčka iteraci 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>