top of page

פייתון א - עתודה ח

Anchor 1

הכנת סביבת העבודה

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

כתיבת קוד בענן - אם אנו מעוניינים לכתוב בענן (אונליין) קיימים אפשרויות רבות כגון :  Colab , programiz  , Replit , projectIDX  ועוד. כדי לבצע זאת יש להיכנס לאתר המתאים , להירשם ופשוט להתחיל לכתוב את הקוד , בסביבה זו הפרויקטים נשמרים בשרת שאיתו עבדתם , כך שתוכלו  לגשת לפרויקטים שלכם מכל מקום.

כתיבה מקומית במחשב האישי- בצורת כתיבה זו יש צורך בהתקנה של המפרש של פייתון , אפשר למצוא אותו בקישור הבא , או לחפש בגוגל python download .

לאחר התקנה המפרש אפשר להתקין כל סביבת עבודה מקומית כגון Vscode  , PyCharm , VisualStudio (מומלץ יותר), ועוד . 

מתחילים...

  • אנו נעבוד עם סביבת העבודה Colab !

  • המשימות יפורסמו בקלאסרום , ובכל משימה יצורף קובץ מסוג ipynb שזהו קובץ של Colab .

  • האתר ישמש אתכם כעזר להסברים וחומרים נוספים.

  • חשוב : את המשימה  חובה לבצע מתוך הקלאסרום ולא לפתוח קובץ Colab חדש !

קורסים ללימוד עצמי

 self.py - מבית קמפוס IL , קורס מצוין להתחלה ללימוד פייתון

next.py - מבית קמפוס IL , קורס מקוון קורס המשך לקורס self.py , מכיל נושאים מתקדמים יותר.

Network.py לתכנת בסביבת הרשת - מבית קמפוס IL , קורס התחלה לתכנות צד שרת וצד לקוח בפייתון

Data.intro - קורס מבוא למדעי הנתונים , היכרות עם ספריית pandas , קורס בסיס , חובה לכל מי שמעוניין להכיר את תחום הלמידת מכונה ובינה מלאכותית

Data.Next – מדע המשך למדעי הנתונים , היכרות עם מודלים ברגרסיה לינארית .

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

GoogleDeveloper Class  -קורס בסיסי באתר גוגל למפתחים

אתר The New Boston - קורס פייתון עם סרטונים המדגימים שלב אחרי שלב

קורס לימוד פייתון מתוך משחק

משתנים ופקודות קלט

בפרק זה נכיר את:

1. הפקודות print   להצגת פלט למסך .

2. הפקודה input לקבל קלט מהמשתמש.

3. מה זה משתנים ? כיצד משתמשים בהם ואיך מבצעים השמה.

מצגת

מצגת משתנים והוראת הדפסה 

 

 

דפי עבודה

דף עבודה משתנים והוראת הדפסה 

תנאים וביטויים לוגיים

הפקודה if ...else מאפשרת לנו בשפות תכנות לבדוק מצבים ותנאים מסוימים . התחביר שלה מופיע להלן , תנאי לא חייב להופיע עם else או עם elif  . אתם מוזמנים לצפות בסרטונים הבאים להסבר על פקודת בקרה זו :  ביטויים בוליאניים ,  בלוק תנאי .

 

num = int (input ("Please enter number"))

if num > 0 :     # האם התנאי מתקיים

    print('+')

elif num < 0 :   # אחרת בדוק את התנאי החדש

    print('-')

else :

    print('0')   # אחרת

   

מצגת

הוראת תנאי - מצגת 

קישור  - שיעור שלם מוקלט בנושא תנאים .

קישור  - שיעור שלם מוקלט בנושא תנאים מורכבים  .

דפי עבודה

דף עבודה בנושא תנאים : הוראת תנאי דף עבודה חלק א  , 

דף עבודה בנושא תנאים : הוראת תנאי - דף עבודה חלק ב

אופרטורים %  /  //

operatorPlus
opeator

  /   אופרטור חלוקה מתמטי - חלוקה רגילה , התוצאה הינה מספר עשרוני.

 //  - אופרטור חלוקה עם עיגול למטה  - למשל   5 // 12 שווה 2.4 ,נעגל את התוצאה ל-2 וזה מה שהאופרטור // יחזיר לנו.  

%  שארית החלוקה  - הינה חלוקה בשלמים כאשר שארית השלמים הינה התוצאה . 

למשל אם נרצה לחלק 8 שקלים לשלושה ילדים כך שכל ילד יקבל את אותו סכום כסף ( 8%3) , שארית החלוקה תיהיה 2 בגלל שכל ילד יקבל 2 שקלים, אבל יישארו לנו עדיין 2 שקלים שלא נוכל לחלק באופן שווה לכל הילדים ( כי יש שלושה ילדים .

  הסבר נוסף נמצא בקישור הבא 

לאופרטור  % (מודולו)  ישנם שני שימושים עיקריים : 

  1. מציאת ספרת אחדות (number % 10)  

  2. בדיקת חלוקה במספר לדוגמא אם נרצה לבדוק את המספר המצוי במשתנה num מתחלק ב-7 נרשום (אנו בודקים ששארית החלוקה היא אפס):

if num % 7 == 0 :  

   print('number divid in 7')

קיימים עוד שימושים אך לשלב זה אלו השימושים העיקריים.

דוגמא לשימוש בשאלות : מציאת ספרת עשרות במספר דו ספרתי  , וזאת  נבצע על ידי num//10  , את המספר num נחלק ב-10 עם עיגול למטה   (אשר יוריד לנו את החלק העשרוני של התוצאה ) ולאחר מכן נמצא את ספרת  האחדות(מודולו 10) בעזרת האופרטור % שהכרנו מקודם .הציבו מספר  ב- num ונסו להבין את התשובה.

_______________________________________________________________

 

 

מצגת 

מצגת חלוקה בשלמים ושארית חלוקה (div - mod) 

קישור לסרטון הסבר קצר  - הסבר קצר על אופרטור מודולו

קישור לשיעור - שיעור שלם בנושא מודולו 

 

 

דפי עבודה

דף עבודה : דף עבודה - חלוקה בשלמים ושארית חלוקה   

לולאת for

היכרות עם הלולאה
 

לולאה for משמשת אותנו לחזרה על ביצוע קטע קוד מספר פעמים או למעבר על רשימת איברים .

קיימות שתי דרכים לשימוש בלולאה זו : לולאה לפי ערך ולפי אינדקס

לולאת מעבר לפי ערך : בלולאה לפי ערך אנו עוברים על איברים למשל על כל אות מחרוזת , או על כל איבר ברשימה . נשתמש בלולאה זו שנגיע למחרוזות ולרשימות  . להלן מספר דוגמאות  .

 שימו לב שהמשתנה  item/letter בדוגמאות הבאות הינם משתנים שבכל איטרציה של הלולאה יכילו את האיבר הנוכחי ברשימה או התו הנוכחי במחרוזת. זאת אומרת שבמעבר הראשון המשתנה letter את האות h ובמעבר השני הוא יכיל את האות e וכן הלאה (לפי המחרוזת hello) , כנ"ל לגבי הרשימה list_of_items .

text = 'hello'

list_of_items = ['one',2,'three']

for letter in text :

    print(item)

for item in list_of_items:

    print(item)

לולאת מעבר לפי אינדקס- כאשר האיברים שאנו עוברים עליהם בלולאה הם מספרים , שישמשו לעיתים כאינדקס/מיקום ברשימה או מחרוזת.

במעבר זה נעבור על מספרים  , הפקודה range (הסבר על הפקודה בקישור הבא ) מייצרת לנו רשימת מספרים, והלולאה שלנו תעבור על המספרים שנוצרו. בצד שמאל ניתן לראות תמונה לסיכום הפקודה .

לדוגמה הלולאה הבאה  תדפיס את המילה hello  חמש פעמים , שימו לב שהמשתנה בלולאה כזו נקרא i או index אשר מציין שזה מספר :

for index in range(5):   

     print('hello')

שימו לב שהפקודה range יצרה לנו רשימה של מספרים החל מ-0 עד למספר 5 (לא כולל) והלולאה שלנו תעבור על המספרים הללו ,בכל איטרציה (ריצת הלולאה) המספר הבא ברשימה.

דוגמא נוספת :הלולאה הבאה לעומת זאת תדפיס את המספרים מ-5 עד 50 בקפיצות של 2  :

for index in range(5,51,2):

     print(index)

 שימו לב שבתוך הלולאה אנו מבקשים להדפיס את המשתנה index ומשתנה זה בעצם עובר על כל אחד מהמספרים שהפקודה range יצרה .

 

 

משתנים צוברים ומונים (צבירה , סכימה , שירשור )

לרוב כאשר משתמשים בלולאות נשתמש במשתנים אשר להם תפקיד מיוחד : צבירה או מניה (ספירה , לספור) .

 

למשל אם נרצה לכתוב לולאה אשר צוברת (סוכמת) את כל המספרים מ-1 עד 100 וגם סופרת את מספר המספרים המתחלקים ב-7 . התכנית תראה כך :

sum = 0    # משתנה צובר 

cnt = 0    # משתנה מונה/סופר

for number in range(1,101):

     sum = sum + number 

     if number % 7 == 0  # בדיקה האם המספר מתחלק ב-7

         cnt = cnt + 1

print('total sum ', sum)

print('numbers divided in 7 ' , cnt)

בתכנית זו רואים שיש לולאה שחוזרת על עצמה 100 פעמים וכן אתחול של שני משתנים לפני כן . משתנה בשם sum אשר תפקידו לסכום מספרים , ומשתנה בשם cnt שתפקידו  לספור/למנות.

כדי לסכום או לספור נתונים בלולאה קודם יש להציב ערך התחלתי במשתנים כפי שרואים בתחילת התכנית .

לאחר מכן יש להשתמש בפקודת הצבירה או הספירה כפי שמופיעה בשורה הרביעית בקוד שלמעלה . הפקודה קצת מבלבלת מכיוון שמנסים להבין את הפקודה sum = sum + number , מבינים שיש בעיה כי זו לא משוואה ושני הצדדים לא שווים . 

ולכן יש להתייחס תמיד אל הסימן = כפקודת השמה (הכנסת ערך למשתנה)  באופן הבא :

קודם יש לחשב את הביטוי בצד ימין של המשוואה  דהיינו sum + number בהתאם לערכים הנוכחים שלהם . ורק לאחר מכן הכנסת התוצאה למשתנה sum.

בתכנית שלנו המשתנה הצובר תפקידו לחבר את כל הערכים שהמשתנה number מקבל בלולאה, כל איטרציה של הלולאה יתווסף ה-number הנוכחי לתוצאה הקודמת של המשתנה sum.

  •  בפעם הראשונה , מכיוון שהמשתנה sum הוא 0 והמשתנה num הוא 1 בפעם הראשונה אז נקבל 0+1 שזה 1  , ואת התוצאה נכניס למשתנה שרשום משמאל למשוואה שהוא sum (דורסים את הערך שהיה קודם) .

  • בפעם השנייה שהלולאה תרוץ הערך של הביטוי בצד ימין יהיה sum + number שזה יהיה 2 + 1 שזה 3  וכך הלאה .

להלן תבנית אשר עונה על רוב סוגי השאלות .

 

דפי עבודה

דף עבודה לולאת For חלק א

דף עבודה לולאת For חלק ב

דף עבודה לולאת For חלק ג

 

חומרי לימוד נוספים

מצגת : מצגת לולאת for

קישור לשיעור  - קישור לשיעור שלם בנושא לולאות.

קישור לשיעור  - קישור לשיעור שלם בנושא משתנים מונים וצוברים ולולאות

for_template

לולאת while

היכרות עם הלולאה

לולאת while משמשת לביצוע חוזר כל עוד תנאי מסוים מתקיים , בשונה מלולאת FOR אשר מבצעת ביצוע חוזר מספר מסום של פעמים , לולאת while מכילה תנאי לעצירה ויכולה להמשיך להתבצע כל עוד התנאי מתקיים  , לדוגמא :

  num = 0

  while num < 10:

    print (num)

    num = num + 1

 

 

 

 

 

 

 

 

 

להלן תבנית שימוש לשאלות בנושא לולאת while

מצגת

בנושא לולאת while  : לולאת while - מצגת 

סרטון קצר  : אתם מוזמנים לצפות בסרטון הסבר קצר (מופיע גם בצד שמאל)

קישור לשיעור - קישור להקלטה של שיעור בנושא לולאת while

 

 

דפי עבודה

לולאת while - דף עבודה חלק א   

לולאת while - דף עבודה חלק ב  

while_template

מחרוזות

חלק ראשון 

בחלק זה נלמד איך ליצור משתנה מסוג מחרוזת , איך להדפיס מחרוזות עם ירידת שורה ובלי ירידת שורה  וכן חיתוך מחרוזות . וכן נלמד פעולות שימושיות בנושא מחרוזות כגון chr,ord , count , replace ועוד'. צפו בסרטונים הקצרים הבאים כדי להבין יותר יצירת מחרוזות , הדפסת מחרוזות , חיתוך מחרוזות .

מצגת

 מצגת מחרוזות  - חלק א

דפי עבודה

טופס תרגול ולמידה בנושא מחרוזות בסיס - אופרטורים , המרות , פעולות chr ו- ord , הטופס זמין רק לחשבונות תלמידים במשרד החינוך (הזדהות אחידה)

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

 

דף עבודה חלק א

 

 

חלק שני

בחלק השני זה נלמד כיצד ניתן לעבור על תווי המחרוזת ולבצע פעולות על תווים בודדים . 

מעבר על מחרוזות יכול להתבצע בשתי דרכים :

מעבר על התווים במחרוזת (מעבר  לפי ערך) :

text="hello"

for letter in text:

    print(letter)

בכל איטרציה של הלולאה המשתנה letter יקבל את האות הבאה במחרוזת hello כך שבאיטרציה הראשונה הוא יכיל את האות h ובאחרונה את האות o.

 

 מעבר על המיקום של התווים (מעבר לפי אינדקס):

text="hello"

for index in range(len(text)):

    print(text[index])

שימו לב שהלולאה עוברת על כל המספרים החל מאפס עד למספר התווים במחרוזת (פחות אחד) , כמו כן שאנו רוצים לגשת לתו מסוים במחרוזת במיקום מסוים נרשום text[index] כאשר text הינו שם המשתנה המכיל מחרוזת.

איך נדע באיזו לולאה להשתמש ?

למרות שהוצגו כאן שני סוגים של מעברים , למעשה יש רק סוג אחד והוא תמיד מעבר לפי ערך ! פעם אחת אנחנו עוברים בלולאה על מספרים (בעזרת range, נקרא מעבר לפי אינדקס ) ובפעם אחרת אנו עוברים על איברים אחרים כגון תווים במחרוזת או איברים ברשימה

מעבר על מספרים -  בדוגמא הבאה נדפיס את כל התווים במקומות הזוגיים

for i in range(2,11,2):

    print (text[i])

מעבר על תווים במחרוזת - וזה נקרא גם מעבר לפי ערך , במקרה זה נעבור על מחרוזת

for letter in text:

 

ככלל אצבע לולאת מעבר לפי אינדקס (לפי מיקום ) תתאים תמיד לכל המקרים , אבל היא קצת פחות נוחה.

בנוסף אם בשאלה מבקשים משהו שקשור למיקום של תו במחרוזת (למשל "האות האחרונה" / "האות הראשונה" וכדומה) אזי חייבים מעבר לפי אינדקס, אחרת אפשר להשתמש במעבר לפי ערך.


 

מצגת

מצגת מחרוזות - חלק ב

 

דפי עבודה

דף עבודה מחרוזות - חלק ב    

 

חומרי לימוד נוספים

קישור לשיעור מלא- (לא חובה לצפייה) - קישור להקלטה של שיעור שלם בנושא מחרוזות מהמערך ההקלטות הלאומי

bottom of page