top of page
Laptop Keyboard

פייתון ב - עתודה ט

Anchor 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מחרוזות

חלק ראשון 

בחלק זה נלמד איך ליצור משתנה מסוג מחרוזת , איך להדפיס מחרוזות עם ירידת שורה ובלי ירידת שורה  וכן חיתוך מחרוזות . וכן נלמד פעולות שימושיות בנושא מחרוזות כגון 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:

 

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

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


 

מצגת

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

 

דפי עבודה

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

 

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

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

פעולות (functions)

בעבר השתמשנו בפקודות כגון print  או input , ושמנו לב כי השימוש בהם מלווה בסוגריים , למשל :

print('hello')

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

def my_print():

    print('hello'*5)

אם נרצה להשתמש בפקודה החדשה שלנו , נשתמש בה בכל מקום כפי שהשתמשנו ב-print , יש לשים לב שהפקודה שמגדירה את הפקודה החדשה def צריכה להופיע מעל השימוש הראשון בפקודה שניצור:

my_print()

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

מצגת

 מצגת פונקציות בפיתון

 

 

דפי עבודה

דף עבודה פונקציות בפיתון  

רשימות

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

מעבר על רשימה 

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

מעבר על איברי הרשימה לפי ערך

במעבר זה  אנו עוברים על איברי הרשימה , בכל מחזור של הלולאה (איטרציה) המשתנה item  יפנה לאיבר הבא , ובאופן הזה בפעם הראשונה item יכיל את המספר 10 ובפעם  האחרונה הוא יכיל את המחרוזת hello

lst = [10,20,100,'hello']

for item in lst:

   print(item)   

 מעבר על איברי הרשימה  לפי אינדקס

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

 

lst = [10,20,100,'hello']

for index in range(len(lst)):

    print(text[index])

 

 

דפי עבודה  

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

דף עבודה רשימה חלק ב ( צבירה , ספירה , ממוצע)

דף עבודה רשימה חלק ג - מה הקוד מבצע ? ( לפתור עם הכיתה)

דף עבודה רשימה חלק ד (צבירה וספירה , שתי רשימות)

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

דף עבודה רשימה של רשימות

מבנה נתונים תור queue

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

בפייתון משתמשים בתור באופן הבא :

import queue

q = queue.Queue()    # יצירת תור

q.put(ערך_להכנסה)  # הכנסת איבר לתור

q.get()   # הוצאת האיבר הבא בתור

if q.empty()  ==True:   # בדיקה האם התור ריק

      print('התור ריק')

q.qsize()   # מציאת גודל התור

דפי עבודה  

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

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

Tuple

טאפל (tuple) הינה רשימה אשר לא ניתן לשנות את איבריה .

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

הגדרת טאפל מתבצעת על ידי סוגריים רגילים:

tp = ( 2,5,8)

גישה לאיברי tuple  מתבצעת בדיוק כפי שניגשים לאיברי רשימות:

print(tp[0]) # הפקודה תדפיס את האיבר הראשון 

שימו לב שלא ניתן לשנות את ערכי tuple:

tp[1] = 12    # שגיאה !!!

tuple שימושי להחזרת מספר ערכים מפונקציה ע"י return יחיד  :

def func():

    return 10,20

x , y = func()

List Comprehensions

יצירת רשימה בצורה מקוצרת מתאפשרת בעזרת Comprehensions , 

בדוגמא הבאה אנו יוצרים רשימה של כל המילים שיש בהם את האות e מהרשימה הקיימת :

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "e" in x]

print(newlist) 

מילונים - Dictionary

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

הגדרת מילון:

thisdict = {
   "brand": "Ford",
   "model": "Mustang",
   "year": 1964
}

גישה לאיברים

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

x = thisdict["model"]

פקודה זו תכניס את הערך Mustang למשתנה x.

גישה בטוחה למקרה שהמפתח לא קיים (הפעולה get תחזיר None במידה והמפתח לא קיים:

x = thisdict.get("model")

הכנסת ערך חדש :

thisdict["color"] = "red"

מעבר על המפתחות של מילון :

for key in thisdict.keys():
    print(key)

מעבר על הערכים במילון:

for val in thisdict.values():
    print(val)

מעבר על הצירופים במילון:

for key,val in thisdict.items():
    print(key,val)

לימוד צב בעזרת משחקים PBL

bottom of page