פייתון/פייתון גרסה 3/לולאת while
מראה
< פייתון | פייתון גרסה 3
לולאות "כל עוד" (while)
[עריכה]לולאה היא פעולה המתבצעת שוב ושוב עד אשר מתקבלת תוצאה רצויה אותה הגדרנו מראש. לדוגמה, פייתון מחברת מספרים אותם מקליד המשתמש עד אשר נרשמת הספרה 10.
יתרונות
[עריכה]- כתיבה מקוצרת.
- כתיבה כללית ולא פרטנית לכל מקרה המאפשרת לחשב או להעריך תוצאות גם אם איננו יודעים את האיברים המדויקים או מספר האינטרציות.
דוגמה
[עריכה]>>>num_loop = 1
>>>while num_loop < 11:
>>> print ('ppp')
>>> num_loop= num_loop + 1
המחרוזת מוגדרת:
- מחזורים שקיימים - 1.
- הגדרנו את מספר הלולאות בהם אנו חפצים - 11 לולאות.
- הגדרנו את הפעולה אותה אנו רוצים שתבוצע 10 פעמים (בלולאות המספר האחרון אינו כלול).
- הגדרנו בכמה תגדל הלולאה בכל סיבוב (בלולאה נוספת)
דוגמה שניה
[עריכה]>>>num_a=0
>>>num_1=float(input('insert a number'))
>>>num_loop = 1
>>>while num_loop <= 10:
>>> num_a=((num_1+num_a)/2)
>>> num_1=float(input('insert a number'))
>>> num_loop = num_loop + 1
>>>print(num_a)
בדגומה זו
- הגדרנו שני נעלמים: ממוצע של מספרים ובמקביל בקשנו מהמשתמש להציב מספרים.
- הגדרנו את מספר הלולאות הקיימות - 1
- הגדרנו את מספר המחזורים שתתבצע הפעולות הבאות - 10 פעמים:
- הגדרנו את הפעולה עליה אנו רוצים שהלולאה תחזור - חיבור המספר החדש שהקליד המשתמש עם הממוצע הקודם וחילוקו בשנים.
- בקשנו שוב מהמערכת לבקש מהמשתמש מספר
- הגדרנו למערכת הלולאות להוסיף לולאה לכל מחזור שהיא מבצעת.
- בקשנו מהמערכת להדפיס את המספר הממוצע שהתקבל.
תרגיל
[עריכה]רשום קוד לפיו יחזור הסכום של עשרה מספרים.
>>>num_sum = 0
>>>num = int(input('Inser a number : '))
>>>while num != 10:
>>> num_sum = num_sum + num
>>> num = int(input('Inser a number : '))
>>>print(num_sum)
לולאה מקונננת
[עריכה]לולאה מקונננת (Nested loops) היא לולאה בתוך לולאה. תפקיד הלולאה החיצונית להגדיר כמה פעמים הלולאה הפנימית תחזור על עצמה.
הלולאה הבאה תחזור על עצמה 5 פעמים, כאשר בלולאה הפנימית היא תפגוש את המספר 10. אחרי הפעם החמישית, היא תפסיק הלולאה לחבר את הסכומים. הפלט יהיה חיבור של כל המספרים שהוכנסו.
num_loop = 0
while num_loop < 5:
num_loop = num_loop +1
num_sum = 0
num = int(input('Inser a number : '))
while num != 10:
num_sum = num_sum + num
num = int(input('Inser a number : '))
print(numbers_sum)