logo

Nadzorne strukture v Pythonu

Večina programov ne deluje z izvajanjem preprostega zaporedja stavkov. Koda je napisana tako, da omogoča izbiro in več poti skozi program, ki jim je treba slediti glede na premike v spremenljivih vrednostih.

Vsi programski jeziki vsebujejo vnaprej vključen niz nadzornih struktur, ki omogočajo izvajanje teh kontrolnih tokov, zaradi česar je to mogoče zamisliti.

Ta vadnica bo preučila, kako našim programom Python dodati zanke in veje, tj.

Vrste nadzornih struktur

Kontrolni tok se nanaša na zaporedje, ki mu bo program sledil med svojim izvajanjem.

Pogoji, zanke in klicne funkcije pomembno vplivajo na to, kako je program Python nadzorovan.

V Pythonu obstajajo tri vrste kontrolnih struktur:

  • Zaporedno - privzeto delovanje programa
  • Izbira – ta struktura se uporablja za sprejemanje odločitev s preverjanjem pogojev in razvejanjem
  • Ponavljanje – ta struktura se uporablja za zanko, tj. ponavljajoče se izvajanje določenega dela bloka kode.

Zaporedna

Zaporedni stavki so niz stavkov, katerih izvršilni proces poteka v zaporedju. Težava z zaporednimi stavki je v tem, da če se je logika prekinila v kateri koli od vrstic, bo prekinjeno celotno izvajanje izvorne kode.

Koda

java pridobiva trenutni datum
 # 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) 

Izhod:

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

Izjave o nadzoru izbire/odločitve

Izjave, ki se uporabljajo v strukturah izbirnega nadzora, se imenujejo tudi izjave o razvejanju ali, ker je njihova temeljna vloga sprejemanje odločitev, izjave za nadzor odločitev.

Program lahko preizkusi številne pogoje z uporabo teh izbirnih stavkov in glede na to, ali je dani pogoj resničen ali ne, lahko izvede različne bloke kode.

Obstaja lahko veliko oblik struktur nadzora odločanja. Tukaj je nekaj najpogosteje uporabljenih kontrolnih struktur:

  • Samo če
  • če potem
  • Ugnezdeni if
  • Celoten if-elif-else

Enostavno, če

Stavki If v Pythonu se imenujejo stavki nadzornega toka. Izbirni stavki nam pomagajo pri izvajanju določenega dela kode, vendar le v določenih okoliščinah. Obstaja samo en pogoj za testiranje v osnovnem stavku if.

Osnovna struktura stavka if je naslednja:

Sintaksa

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

Ti stavki bodo vedno izvedeni. So del glavne kode.

Vsi stavki, napisani z zamikom za stavkom if, se bodo izvajali, če je dajalec pogoja za ključno besedo if nastavljen na True. Samo stavek kode, ki bo vedno izveden ne glede na to, ali je pogoj stavek, napisan poravnan z glavno kodo. Python uporablja te vrste vdolbin za identifikacijo kodnega bloka določenega stavka nadzornega toka. Navedena nadzorna struktura bo spremenila tok le teh zamaknjenih stavkov.

Tukaj je nekaj primerov:

Koda

 # 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>

če potem

Če je pogoj, podan v if, False, bo blok if-else izvedel kodo t=podano v bloku else.

Koda

 # 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;) 

Izhod:

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

Ponavljanje

Za ponavljanje določenega niza izjav uporabljamo strukturo ponavljanja.

dolgo nanizati

Na splošno obstajata dva stavka zanke za implementacijo strukture ponavljanja:

  • Zanka for
  • Zanka while

Za zanko

Za iteracijo čez zaporedje Python, ki ga je mogoče ponoviti, uporabljamo zanko for. Primeri teh podatkovnih struktur so seznami, nizi, tuple, slovarji itd. Pod blok kode zanke for zapišemo ukaze, ki jih želimo izvajati večkrat za vsako postavko zaporedja.

Koda

 # 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;) 

Izhod:

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

Medtem ko Loop

Čeprav se zanke uporabljajo tudi za ponavljajoče se izvajanje določenega kodnega bloka, je razlika v tem, da zanke delujejo, dokler ni izpolnjen dani predpogoj. Izraz se preveri pred vsako izvedbo. Ko pogoj povzroči logično vrednost False, zanka ustavi ponovitev.

Koda

 # 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>