רוב התוכניות אינן פועלות על ידי ביצוע רצף פשוט של הצהרות. קוד נכתב כדי לאפשר בחירה ולבצע מספר מסלולים דרך התוכנית בהתאם לשינויים בערכי המשתנים.
כל שפות התכנות מכילות סט כלול מראש של מבני בקרה המאפשרים ביצוע זרימות בקרה אלו, מה שהופך את זה לאפשרי.
מדריך זה יבחן כיצד להוסיף לולאות וענפים, כלומר תנאים לתוכניות Python שלנו.
סוגי מבני בקרה
זרימת בקרה מתייחסת לרצף שתוכנית תעקוב אחריה במהלך ביצועה.
תנאים, לולאות ופונקציות קריאה משפיעים באופן משמעותי על השליטה בתוכנית Python.
ישנם שלושה סוגים של מבני שליטה ב-Python:
- Sequential - ברירת המחדל של פעולת תוכנית
- בחירה - מבנה זה משמש לקבלת החלטות על ידי בדיקת תנאים והסתעפות
- חזרה - מבנה זה משמש ללולאה, כלומר, ביצוע שוב ושוב של חלק מסוים מבלוק קוד.
סִדרָתִי
הצהרות עוקבות הן קבוצה של הצהרות שתהליך הביצוע שלהן מתרחש ברצף. הבעיה עם הצהרות עוקבות היא שאם ההיגיון נשבר בכל אחת מהשורות, אז ביצוע קוד המקור המלא יישבר.
קוד
להשוות במחרוזת
# 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
הצהרות בחירה/בקרת החלטה
ההצהרות המשמשות במבני בקרת בחירה מכונים גם הצהרות מסועפות או, שכן תפקידן הבסיסי הוא לקבל החלטות, הצהרות בקרת החלטות.
תוכנית יכולה לבדוק תנאים רבים באמצעות הצהרות הבחירה הללו, ובהתאם אם התנאי הנתון נכון או לא, היא יכולה להפעיל בלוקי קוד שונים.
יכולות להיות צורות רבות של מבני בקרת החלטות. להלן כמה מבני בקרה הנפוצים ביותר:
- רק אם
- אחרת
- המקוננת אם
- השלם אם-elif-else
פשוט אם
אם הצהרות ב-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.
קוד
מיתר יצוק כ-int java
# 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,
תוך כדי לולאה
בעוד לולאות משמשות גם לביצוע בלוק קוד מסוים שוב ושוב, ההבדל הוא שלולאות ממשיכות לעבוד עד לתנאי מוקדם נתון. הביטוי נבדק לפני כל ביצוע. ברגע שהתנאי מביא ל-Bolean 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>