logo

Контролне структуре у Питхон-у

Већина програма не функционише тако што извршава директан низ изјава. Код је написан да би се омогућило доношење избора и неколико путања кроз програм који ће се пратити у зависности од промене вредности променљивих.

Сви програмски језици садрже унапред укључен скуп контролних структура које омогућавају извршавање ових контролних токова, што их чини замисливим.

Овај водич ће испитати како додати петље и гране, односно услове нашим Питхон програмима.

Врсте контролних структура

Контролни ток се односи на секвенцу коју ће програм пратити током свог извршавања.

Услови, петље и функције позива значајно утичу на то како се Питхон програм контролише.

Постоје три типа контролних структура у Питхон-у:

  • Секвенцијално – подразумевани рад програма
  • Селекција - Ова структура се користи за доношење одлука провером услова и гранањем
  • Понављање – Ова структура се користи за петљу, односно понављање извршавања одређеног дела кодног блока.

Редни

Секвенцијални искази су скуп наредби чији се процес извршавања дешава у низу. Проблем са секвенцијалним изјавама је у томе што ако се логика поквари у било којој од линија, онда ће се комплетно извршавање изворног кода прекинути.

Код

бацање баца у јава
 # 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) 

Излаз:

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

Изјаве о контроли одабира/одлучивања

Изрази који се користе у структурама контроле селекције се такође називају исказима гранања или, пошто је њихова основна улога да доносе одлуке, исказима контроле одлука.

Програм може тестирати многе услове користећи ове наредбе за избор, и у зависности од тога да ли је дати услов тачан или не, може извршити различите блокове кода.

Може постојати много облика структура за контролу одлука. Ево неких најчешће коришћених контролних структура:

  • Само ако
  • ако друго
  • Угнежђени иф
  • Комплетан иф-елиф-елсе

Једноставно ако

Ако се искази у Питхон-у називају искази тока контроле. Наредбе селекције нам помажу у покретању одређеног дела кода, али само у одређеним околностима. Постоји само један услов за тестирање у основној изјави иф.

Основна структура иф наредбе је следећа:

Синтакса

јава екуалс метод
 if : The code block to be executed if the condition is True 

Ове изјаве ће се увек извршавати. Они су део главног кода.

Сви искази написани увучени после наредбе иф ће се покренути ако је давалац услова после кључне речи иф тачна. Само наредба кода која ће се увек извршавати без обзира на то да ли је услов изјава написана усклађена са главним кодом. Питхон користи ове типове увлачења да идентификује блок кода одређене изјаве тока контроле. Наведена контролна структура ће променити ток само тих увучених израза.

Ево неколико примера:

Код

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

ако друго

Ако је услов дат у иф је Фалсе, иф-елсе блок ће извршити код т=дат у елсе блоку.

Код

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

Излаз:

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

Понављање

За понављање одређеног скупа исказа користимо структуру понављања.

Генерално постоје две изјаве петље за имплементацију структуре понављања:

  • Петља фор
  • Док петља

Фор Лооп

Користимо фор петљу за итерацију преко итерабле Питхон секвенце. Примери ових структура података су листе, стрингови, тупле, речници, итд. У блоку кода петље фор пишемо команде које желимо да извршавамо више пута за сваку ставку секвенце.

Код

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

Излаз:

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

Вхиле Лооп

Док се петље такође користе за узастопно извршавање одређеног блока кода, разлика је у томе што петље настављају да раде све док се не испуни дати предуслов. Израз се проверава пре сваког извршења. Једном када услов резултира Боолеан Фалсе, петља зауставља итерацију.

Код

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