לדלג לתוכן

פייתון/פייתון גרסה 3/לולאת while

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

לולאות "כל עוד" (while)

[עריכה]

לולאה היא פעולה המתבצעת שוב ושוב עד אשר מתקבלת תוצאה רצויה אותה הגדרנו מראש. לדוגמה, פייתון מחברת מספרים אותם מקליד המשתמש עד אשר נרשמת הספרה 10.

יתרונות

[עריכה]
  1. כתיבה מקוצרת.
  2. כתיבה כללית ולא פרטנית לכל מקרה המאפשרת לחשב או להעריך תוצאות גם אם איננו יודעים את האיברים המדויקים או מספר האינטרציות.

דוגמה

[עריכה]
>>>num_loop = 1
>>>while num_loop < 11:
>>>    print ('ppp')
>>>    num_loop= num_loop + 1

המחרוזת מוגדרת:

  1. מחזורים שקיימים - 1.
  2. הגדרנו את מספר הלולאות בהם אנו חפצים - 11 לולאות.
  3. הגדרנו את הפעולה אותה אנו רוצים שתבוצע 10 פעמים (בלולאות המספר האחרון אינו כלול).
  4. הגדרנו בכמה תגדל הלולאה בכל סיבוב (בלולאה נוספת)

דוגמה שניה

[עריכה]
>>>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. הגדרנו שני נעלמים: ממוצע של מספרים ובמקביל בקשנו מהמשתמש להציב מספרים.
  2. הגדרנו את מספר הלולאות הקיימות - 1
  3. הגדרנו את מספר המחזורים שתתבצע הפעולות הבאות - 10 פעמים:
    • הגדרנו את הפעולה עליה אנו רוצים שהלולאה תחזור - חיבור המספר החדש שהקליד המשתמש עם הממוצע הקודם וחילוקו בשנים.
    • בקשנו שוב מהמערכת לבקש מהמשתמש מספר
    • הגדרנו למערכת הלולאות להוסיף לולאה לכל מחזור שהיא מבצעת.
  4. בקשנו מהמערכת להדפיס את המספר הממוצע שהתקבל.

תרגיל

[עריכה]

רשום קוד לפיו יחזור הסכום של עשרה מספרים.

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

ראו גם

[עריכה]