Повечето програми не работят, като изпълняват ясна последователност от оператори. Написан е код, който позволява да се правят избори и няколко пътя през програмата, които да се следват в зависимост от промените в стойностите на променливите.
Всички езици за програмиране съдържат предварително включен набор от контролни структури, които позволяват изпълнението на тези контролни потоци, което го прави възможен.
Този урок ще разгледа как да добавите цикли и разклонения, т.е. условия към нашите програми на Python.
Видове контролни структури
Контролният поток се отнася до последователността, която програмата ще следва по време на нейното изпълнение.
Условията, циклите и извикващите функции значително влияят върху това как се контролира програмата на Python.
В Python има три типа контролни структури:
- Последователно - Работата по подразбиране на програмата
- Избор - Тази структура се използва за вземане на решения чрез проверка на условия и разклоняване
- Повторение - Тази структура се използва за цикъл, т.е. многократно изпълнение на определена част от кодов блок.
Последователен
Последователните оператори са набор от оператори, чийто процес на изпълнение се случва в последователност. Проблемът с последователните изрази е, че ако логиката е повредена в някой от редовете, тогава пълното изпълнение на изходния код ще се прекъсне.
Код
сортиране на вмъкване в java
# 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
- Пълният if-elif-else
Просто, ако
Изявленията If в Python се наричат изрази за контролен поток. Изявленията за избор ни помагат да изпълняваме определена част от кода, но само при определени обстоятелства. Има само едно условие за тестване в основен оператор if.
Основната структура на оператора if е както следва:
Синтаксис
if : The code block to be executed if the condition is True
Тези инструкции винаги ще се изпълняват. Те са част от основния код.
Всички оператори, написани с отстъп след оператора if, ще се изпълняват, ако даденото условие след ключовата дума if е True. Само операторът на кода, който винаги ще се изпълнява, независимо дали условието е операторът, написан в съответствие с основния код. Python използва тези типове вдлъбнатини, за да идентифицира кодов блок на конкретен оператор на контролния поток. Посочената контролна структура ще промени потока само на тези изрази с отстъп.
Ето няколко случая:
Код
# Python program to show how a simple if keyword works # Initializing some variables v = 5 t = 4 print('The initial value of v is', v, 'and that of t is ',t) # Creating a selection control structure if v > t : print(v, 'is bigger than ', t) v -= 2 print('The new value of v is', v, 'and the t is ',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('The value of v is ', v, 'and that of t is ', t) # Checking the condition if v > t : print('v is greater than t') # Giving the instructions to perform if the if condition is not true else : print('v is less than t') </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 = ', ') print(' ') for j in range(0,10): print(j, end = ', ') </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>
ако-иначе
Ако условието, дадено в if, е False, блокът if-else ще изпълни кода t=посочен в блока else.
Код
# Python program to show how to use the if-else control structure # Initializing two variables v = 4 t = 5 print('The value of v is ', v, 'and that of t is ', t) # Checking the condition if v > t : print('v is greater than t') # Giving the instructions to perform if the if condition is not true else : print('v is less than t')
Изход:
The value of v is 4 and that of t is 5 v is less than t
Повторение
За да повторим определен набор от твърдения, използваме структурата на повторение.
Обикновено има два оператора за цикъл за прилагане на структурата на повторение:
- Цикълът for
- Цикълът while
За цикъл
Използваме for цикъл, за да итерираме итерируема последователност на Python. Примери за тези структури от данни са списъци, низове, кортежи, речници и т.н. Под кодовия блок на цикъла for ние записваме командите, които искаме да изпълним многократно за всеки елемент от последователност.
недетерминирани крайни автомати
Код
# 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 = ', ') print(' ') for j in range(0,10): print(j, end = ', ')
Изход:
2, 4, 7, 1, 6, 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Цикъл докато
Въпреки че циклите се използват и за многократно изпълнение на определен кодов блок, разликата е, че циклите продължават да работят, докато не бъде изпълнено дадено предварително условие. Изразът се проверява преди всяко изпълнение. След като условието доведе до Boolean False, цикълът спира итерацията.
Код
# 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>