PracticU

לולאת for וגם for-else

בלי כתוביותעם כתוביות
PracticU › קורס פייתון - Python › לולאת for וגם for-else
מילון מושגים:
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
אופרטור - סימן בקוד שמבצע פעולה על ערכים, כמו חיבור, השוואה או פעולה לוגית.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
Dictionary - מבנה נתונים שמאחסן זוגות של מפתח וערך, ומאפשר שליפה מהירה של ערך לפי מפתחו.
Python - שפת תכנות עילית וקריאה, נפוצה בפיתוח, אוטומציה, ניתוח נתונים ולמידת מכונה.

לולאת for וגם for-else
בשיעור נדבר על תנאים ולולאות בפייתון: if, for ו-while, והמיוחד בפייתון, for-else. מודגשת גם החשיבות של ההזחה לקביעת מבנה הבלוקים.
השלבים העיקריים
1. תנאים: הסינטקס של if כולל נקודותיים בסוף השורה. פייתון אינה משתמשת בסוגריים סביב התנאי. במקום else if כותבים elif. האופרטורים and, or ו-not נכתבים כמילים.
2. לולאת for: עוברים על איברים של רשימה, מחרוזת או מבנה נתונים אחר. בדוגמה מודפסים שלושה איברים מתוך רשימה.
3. for-else: בלוק ה-else שייך ללולאה ולא ל-if. הוא רץ רק אם הלולאה עברה על כל האיברים בלי לצאת דרך break. בדוגמה מחפשים מספר בין 0 ל-9: אם נמצא, מודפס found והלולאה נעצרת, ואם לא נמצא, מודפס not found.
4. לולאת while: רצה כל עוד התנאי אמת. כשהרשימה מתרוקנת, התנאי הופך לשקר והלולאה מסתיימת.
5. zip: עובר על כמה רשימות במקביל, זוג אחר זוג. אם האורכים שונים, הלולאה נעצרת באיבר הקצר.
6. מעבר על מילון: ברירת המחדל היא מעבר על המפתחות. values מחזיר את הערכים, ו-items את הזוגות.
טעויות נפוצות
- שינוי רשימה תוך כדי לולאה גורם לדילוג על איברים. בדוגמה נמחקו איברים, והרשימה שהתכווצה דילגה על חלק מהערכים.
- שינוי גודל מילון תוך כדי מעבר עליו גורם לשגיאה "dictionary changed size during iteration".
שימו לב
ב-Python אין switch ואין do-while. הזחה שגויה משנה את הבלוק או מייצרת שגיאה, ולכן הזחה אחידה של ארבעה רווחים מונעת הרבה בעיות.
במבנה של Python ההזחה והסדר קובעים את ההתנהגות של התוכנית.
השיעור הבא בקורס: פונקציות בפייטון - חלק 1

פרקי ההרצאה: לולאת for וגם for-else

  1. 00:00

    מבוא: if, for ו-while בפייתון

  2. 00:39

    תנאי if ללא סוגריים בפייתון

  3. 03:17

    לולאת for ומעבר על רשימה

  4. 04:25

    for-else: בדיקה אם איבר קיים

  5. 05:24

    שימוש ב-break לעצירת לולאה

  6. 06:54

    סקריפט מעשי עם for-else

  7. 09:18

    למה ה-else שייך ל-for ולא ל-if

  8. 09:59

    הרצת הסקריפט והסבר על הקוד

תמלול ההרצאה: לולאת for וגם for-else

הטקסט המלא של הדקות הראשונות בהרצאה «לולאת for וגם for-else» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, בהרצאה נדבר על if, for ו-for else, שזה משהו מיוחד לפייתון. אני מניח שכולם יודעים מה זה if'ים ומה זה for'ים, כי זה לא קורס המתחילים, אז אני לא אסביר מה זה אומר, רק אני אראה את הסינטקס של if, for ו-while loop, ששלושתם קיימים בפייתון. ראשית, בפייתון אין switch cases ואין do while,

  2. 00:29

    בסדר גמור, אפשר להסתדר בלעדיהם. בואו נתחיל ב-if. אז הסינטקס של if זה פשוט כותבים if, ואחרי זה את ה-statement שאנחנו רוצים לבדוק, נקודות time, ואז מה קורה.

  3. 00:46

    עכשיו, לא צריך סוגריים בפייתון, פשוט אפשר לכתוב if 3 גדול מ-2, לא לשכוח אזרחות, מאוד חשוב, print else, הכי קל בעולם.

  4. 01:17

    שימו לב שגם יש לנו if-elsים, if-els בפייתון, המילת מפתח לנו היא lif, אני אסביר, if 3 גדול מ-2, בואו נעשה הפעם 3 גדול מ-6, זה בגלל שלא עשיתי, בגלל ששמתי בטעות את הפסיק.

  5. 01:56

    l if 3 קטן מ-6. else, שכמובן ה-else קורה אם אף אחד מהם לא היה חוקי, כמובן במקרה הזה ה-else if יקרה.

  6. 02:27

    עכשיו, כמובן שכל האופרטורים שקיימים בשאר שפת התכנות קיימות גם פה, אבל פשוט הם בתור טקסט ולא בתור פייפים או כל מיני דברים כאלה, למשל if 2 3 גדול מ-1 end 2 גדול מ-1 or 4 גדול מ-6 והדבר הזה יעבוד כמו שצריך כמובן שבמקרה כזה אני מאוד ממליץ להוסיף נקודותיים כדי שיהיה

  7. 02:56

    זה בגלל שהיה ספייס בהתחלה כמו שאמרתי מאוד שים לב לדברים האלה בפייתון במקרה של ifים של ערבוב של orים ואנדים אני מאוד ממליץ לשים נקודותיים כי בשלב כלשהו זה כבר נהיה מאוד קשה להבנה עכשיו נדבר קצת על forward אז פייתון הסינטק של לולת for הוא בסגנון של for ואז האלמנט שאנחנו רוצים לעבור עליו כלומר איך הוא ייקרא בתוך הרשימה בתוך הלולאה

  8. 03:37

    in המבנה מתונים שלנו למשל for אלמנט in list שמכיל שלושה איברים ופשוט נדפיס את האלמנט וזהו שים לב שאם נעשה סיק אז נקבל אותם בשורה אחת עכשיו, כמובן שניתן לשלב פורים ואיפים ודבר כזה הוא טריוויאלי.

  9. 04:21

    עכשיו, אנחנו נדבר על משהו קצת יותר מעניין, שהוא for else. ואני אתחיל בשאלה קלה. נגיד, יש לנו את לולת ה-for שעברנו עליה כרגע, שבה אנו בודקים האם איבר קיים ברשימה.

  10. 04:39

    עכשיו, מה קורה אם האיבר לא נמצא ברשימה? אם הייתי אומר לכם תבוא לולאה שבודקת אם משהו נמצא במבנה נתונים, תדפיסו found או לא found אז מן הסתם רובכם הייתם משתמשים באיזשהו משתנה בוליאן ותקראו לו בטח flag כי כולנו מאוד יצירתיים אבל בפייתון חשבו על הדברים קצת אחרת והוסיפו את האופציה לעשות else ללא לעט for בואו נראה דוגמה אז

  11. 05:07

    בוא נגיד שאנחנו באמת רוצים לראות אם איבר מסוים יצא ברשימה אז for אלם in 123 ואנחנו רוצים לבדוק if אלם שווה שווה שלוש מה שאנחנו נעשה נעשה פרינט פאונד ונעשה ברייק וכמובן נשמור על האזרחות שימו לב שהברייק פה הוא מאוד חשוב כמובן שפייתון תומכת בברייק וקונטיניו שכחתי לציין את זה לאחר מכן טוב אלס אוקיי אנחנו רואים פה משהו

  12. 06:13

    מעניין בואו ננסה בואו נריץ שוב פעם את הלולאה אבל הפעם נשים איף של משהו שלא נמצא מה קרה פה בעצם פייתון מסתכלת על הלולאה ואומרת זה דבר, שנייה רגע, הדוגמא שהכרחתי להעתיק את הברייק שזה חשוב, בואו רגע נעתיק את זה עוד פעם אחרונה, מהר, שנייה רגע, בואו רגע נעשה את זה קצת יותר חכם, בואו נכתוב מהר, פותח רגע נוטפד, ורגע נכתוב את הסקריפט שיהיה קצת יותר קל

  13. 07:25

    לכתוב אותו, דבר ראשון בואו נקבל input מהמשתמש, זה קצת יפשט את העניינים, k שווה ל-range, בואו רגע נשמור את זה על הדרך, כבר בתור y, שים אותו בכונן c כדי לפתור את הבעיית שמירה בואו רגע נעלה אותו שוב בתור אדמיניסטרייטור קליקים אני אדמיניסטרייטור windows בוא נעשה 4 נקודה py כולה אוקיי enter

  14. 08:25

    נמבר 4elem in c 4elem in c if a if c שווה שווה a אז אנחנו רוצים דבר ראשון לעשות פאונד ואנחנו רוצים לעשות ברייק כלומר אם לא c בוא ניתן שם עוד קצת יותר ופיינד st ו4element in st ונוסיף גם את הנקודותיים if elem שווה שווה לפיינד אז דבר ראשון נדפיס פאונד, ואז נעשה ברייק.

  15. 09:31

    שימו לב להזכה של ה-else היא על ה-for, היא לא על ה-if. כלומר, זה לא אם לא מצא, אם ה-if לא שווה, אלא אם כל ה-for לופ לא שווה. פרינט, נאט, ושמרתי את זה, קלדת.

  16. 09:54

    עכשיו, בואו נריץ python.exe 4.py enter a number 20 not found, found. עכשיו, בואו נסתכל על הקוד ונסביר אותו תוך כדי.

  17. 10:16

    מה היה לנו פה? יצרנו רשימה.

לקורס המלא: קורס פייתון אונליין למתחילים

ההרצאה הקודמת: התקנת eclipse

ההרצאה הבאה: פונקציות בפייטון - חלק 1

הרצאות קשורות מקורסים אחרים

  • לולאת for
  • תנאי if-else
  • Qlik - if-else - חלק 1
  • תנאים if - else

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס PHP - פרויקט מעשי