![Laptop Keyboard](https://static.wixstatic.com/media/6d5ac319109445e498f70f96608c7250.jpg/v1/fill/w_375,h_250,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/6d5ac319109445e498f70f96608c7250.jpg)
פייתון ב - עתודה ט
הכנת סביבת העבודה
פייתון הנה שפת תכנות נפוצה ביותר , אפשר לכתוב קוד פייתון בהרבה מקומות , חלקן אונליין וחלקן מקומית על המחשב האישי שלנו .
כתיבת קוד בענן - אם אנו מעוניינים לכתוב בענן (אונליין) קיימים אפשרויות רבות כגון : 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()
מילונים - 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
חלק א
היכרות עם הצב Turtle
https://drive.google.com/open?id=1qC2Js4dEzkeVATk8HWBSMyddVi7jvGlo
דף עבודה - היכרות עם הצב Turtle
https://drive.google.com/open?id=1NWufnGpT-ZL-rwGayqIlTQOY8-FTRkM3
ארוע לחיצה על עכבר - חלק א
https://drive.google.com/open?id=1dYSr9Mar2LqsbkICwsR1C1EXi-SjUCs1
פתרונות משימות - ארוע לחיצה על עכבר חלק א
https://drive.google.com/open?id=1ma1jlHwDongBr4JetZVhDen_2uOCXvPz
הוספת תמונה עבור צב
https://drive.google.com/open?id=12NsHRa9MziPJGMU1MauPucjyrdRiYHUl
הוספת צליל לפרוייקט
https://drive.google.com/open?id=1MM8kmWhaCY69th61PHmX9znTyvfuE4zB
משחק - אבן נייר ומספריים
https://drive.google.com/open?id=1kl6FInXgCiB6JzlHWeT58izrSKpdLo9C
ארוע מקלדת - התחלת משחק פינג פונג
https://drive.google.com/open?id=1U8weUmCE0m_VjkBCNXjamE9nxsNmhTBe
מירוץ דמויות
https://drive.google.com/open?id=1hHX283pyNRI1LotJI0uGrQJUB7ZVvY1y
חלק ב
משחק זכרון
https://drive.google.com/open?id=1DW2wrgNFY2xT6hMAy25xL_k967ZhxTxf
אורגן
https://drive.google.com/open?id=1WCtdXoOBu2-55zuO9eK2yQV4EPF1O7Tm
משחק איקס עיגול
https://drive.google.com/open?id=1EaP1kvLnLECiEnCSqkfuclX_3PKC_1RX