top of page
מחרוזת אחת במרווח או על פני כמה שורות
מחרוזת אחת במרווח או על פני כמה שורות t \n\- נניח שאנו רוצים לכתוב מחרוזת אחת (המילה shalom שלוש פעמים ברצף) על פני כמה שורות ולא בשורה אחת על המסך, או שאנו רוצים מרווח מסוים בין חלק אחד של המחרוזת לחלקה האחר. הבה נראה איך עושים זאת – x="shalomshalomshalom" print(x) >>> shalomshalomshalom עוד אחת x="shalom\nshalom\tshalom" print(x) >>> shalom shalom shalom למעלה אנו רואים הדפסה רגילה של המחרוזת, ובתוכנית מתחתיה אנו רואים שתי אפשרויות נחמדות: האחת מעבירה אותך לשורה
רשימה
רשימה list פייתון מאפשרת ארגון מידע בצורות שונות שאחת המרכזיות בהן היא הרשימה (באנגלית list), באמצעותה למשל בנינו פעם תוכנה אולטימטיבית לפתרון סודוקו וגם תוכנות שעזרו לנו לפתור חידות. רשימה מייצרים באמצעות רישום אברי הרשימה בסוגריים מרובעים, כאשר כל איבר מופרד בפסיק (,) , אולם תחילה אנו צריכים לבחור שם לרשימה שלנו (כל זמן שהמילה אינה פקודה בשפת פייתון כמו למשל המילה list שבה אסור להשתמש) - lista=[5,8,"sababa",-3] print (lista) >>> [5, 8, 'sababa', -3] אנו רואים שהרשימה יכול
טופל tuple
טופל tuple חוץ מזה שזה אובייקט עם שם מוזר, שחלק הוגים אותו כמו טאפל (לדעתי בטעות אבל אם למישהו יש דיבור עם חידו רוסום שיעדכן בפורום), זו צורה פשוטה יותר של ארגון מידע הוא בצורה של רשימה מיוחדת הקרויה טופל. זו בעצם רשימה של איברים שההבדל בינה לבין רשימה הוא שלא ניתן לבצע ב tuple שינויים, גוף כזה מכונה בפייתון immutable. הטופל מסומן בסוגריים עגולים – tup=(1,2,3,4) print (tup) >>> (1, 2, 3, 4) אפשר להדפיס איבר אחד מתוך הטופל – tup=(1,2,3,4) print (tup[1]) >>> 2 אנו רואים של
מילון dictionary
מילון dictionary מילון הוא צורה נוספת של ארגון מידע (אובייקט נוסף) ועושה שימוש בסוג נוסף של סוגריים – הפעם מסולסלים { } . במילון סדר האיברים אינו חשוב ואינו נשמר, וכל איבר מחולק לשניים מפתח key וערך value המופרדים ביניהם בנקודתיים (:) – נדגים - dicta={"a" : 1,"b" :2, "c" :3} print (dicta) >>> {'a': 1, 'b': 2, 'c': 3} והדרך לקבל ערך dicta={"a" : 1,"b" :2, "c" :3} print (dicta["b"]) >>> 2 הצורה הפשוטה לשימוש במילון היא לבקש מהמחשב להדפיס את הערך הצמוד לאחד המפתחות, במקרא
תרגיל - מילון
תרגיל - מילון בתרגיל זה צריך תחילה לבנות מילון בשם dicta המכיל שלושה מפתחות "a","b","c" ולכל אחד ערך מספרי מ- 1 עד 3 בהתאמה. לאחר שבניתם את המילון, אתם צריכים להוסיף מפתח נוסף "d" שהערך שלו יהיה רשימה המכילה את המספרים 7,8,9. כעת נניח שלצורך מסויים אתם צריכים לשלוף מהמילון מתוך הערך של המפתח "d" רק את המספר האמצעי ברשימה (רק את הספרה 8) כיצד אפשר לעשות זאת ? פתרון התרגיל: dicta = {"a":1,"b":2,"c":3} dicta["d"]=[7,8,9] print(dicta) >>> {'a
סט set
סט set אובייקט נוסף הקיים בפייתון לצורך ארגון מידע הוא set המסומן באמצעות סוגריים מסולסלים { } כאשר כל המידע המצוי בתוכו אינו כפוף לסדר מסוים ואין חשיבות למיקום בתוך הסט, לכן לא ניתן לבצע חיתוכים כמו ברשימה או לאתר מיקום של איבר בתוך הסט, כמו כן המחשב אינו מתייחס למספר הפעמים שאיבר מסוימים מופיע בסט, ומבחינתו האיבר קיים או לא קיים בלבד. הפעולות השימושיות בסטים נוגעות לצורך במניעת כפילויות של פרטי מידע, לצורך לוודא קיום או אי קיום של פרט בלי קשר לכמויות וכן להשוואה בין שני סטי
for loop
לולאת for בכל שפת תוכנה קיימת פקודה מסוג זה המאפשרת לולאה (loop), העוברת על סדרה של פריטים בתוך אובייקט מסוים, ומבצעת פעולה או בדיקה לכל אחד ואחד מהפריטים הללו. בתנאי שהאובייקט הוא מסוג iterable המאפשר פעולה על כל אחד ואחד מפרטיו. מחרוזות ורשימות, למשל, הם אובייקטים המאפשרים זאת (iterables). ניתן לראות את מבנה לולאת for הכולל יצירת משתנה זמני לצורך ביצוע הלולאה (בדוגמא למטה נקרא item), איזכור שם האובייקט (מחרוזת רשימה וכו' – בדוגמא למטה נקרא Alphabet) לאחר מכן נקודתיים (:) וב
range
פעולת range פעמים רבות משלבים את פקודת for עם פקודה אחרת בשם range ו ונראה מה פקודה זו מבצעת (הגם שהמונח פקודה הוא לא מדויק בהמשך נלמד מה בדיוק היצור הזה) – for num in range(5): print (num) >>> 0 1 2 3 4 ניתן להתייחס אל פקודת ה- range כאובייקט מיוחד המייצר בכל פעם מספר אחד בטווח המספרים מ- 0 ועד למספר שנקבנו בו בפקודת ה- range (לא כולל את המספר עצמו) – תכונה זו נקראת iteration ופקודת rang מייצרת איטרטור (iterator -אני לא אחראי לשמות). ניתן לקבוע מהיכן תתחיל הספירה, מתי ה
פעולות מסיימות בלולאות pass, continue, break
פעולות מסיימות בלולאות pass, continue, break לולאות (loops) מסוג while או for למשל, ממשיכות לרוץ (לעיתים לנצח) אלא אם מתקיים תנאי שמפסיק אותן. בפייתון קיימים כמה הוראות המתייחסות ללולאות, אחת מהן נקראת pass והיא לא עושה שום דבר מלבד למלא מקום ריק אולי על מנת בהמשך לבצע פעולה ממשית במקומה. הפקודה continue מבקשת מהלולאה לדלג לפריט הבא בתור בלי לעשות דבר, והפקודה האחרונה נקראת break והיא מסיימת את עבודת הלולאה באופן שהיא לא ממשיכה יותר לרוץ. lista=[1,2,3,4,5,"banana"] for item i
מודולו % modulo וחילוק רצפה floor division //
מודולו % modulo וחילוק רצפה floor division // modulo בפייתון זה לא אחוז ואין לזה קשר לאחוזים, מודולו היא פעולה מתמטית חשובה בעולם התכנות, והיא מחשבת את השארית הנותרת לאחר פעולת חילוק, אבל רק את השארית, לא את כל התוצאה! x=9%4 print(x) >>> 1 x=12%3 print(x) >>> 0 תוצאת החילוק של 9 ב- 4 היא 2 ושארית 1 – מה שמעניין אותנו כאן זה השארית. תוצאת החילוק של 12 ב- 3 היא 4 בלי שארית ולכן אנו מקבלים את התוצאה 0. למה זה טוב ? למשל כדי להוציא מתוך רשימה של מספרים רק את המספרים הזוגיים
תרגיל – תוכנית למציאת מספרים ראשוניים בין 0 ל- 100
תרגיל – תוכנית למציאת מספרים ראשוניים בין 0 ל- 100 מספר ראשוני הוא מספר המתחלק רק בעצמו וב- 1 ונותן תוצאה שלימה ולא בשום מספר אחר. for num in range (101): if num > 1: for i in range(2,num): if (num % i) == 0: break else: print(num) >>> 2 3 5 7 11 13 17 19 23 29 … *למען הקיצור כתבנו רק את עשרת המספרים הראשוניים שמצאנו באמצעות התוכנית. הלולאה הראשונה רצה על המספרים מ – 0 עד 101 (לא כולל 101 אבל כן כולל את 100). היא מתחילה
Floor division
Floor division הפעולה ההפוכה לפעולת המודולו (במובן מסוים) היא חילוק רצפה floor division (אם יש שם טוב יותר בעברית...) פעולה הנותנת לנו את תוצאת החילוק בלי שאריות. במקום slash אחד כמו בחילוק רגיל, יש לנו slash כפול, הנה שני תרגילים שהתוצאה שלהם זהה: 15//7=2 20//7=2 בואו נראה (מי שרוצה מוזמן לנסות את זה כתרגיל) איך אנו יכולים להשתמש בחילוק רצפה // כדי לקחת מספר כלשהו (נניח בעל חמש ספרות) המוצב במשתנה x ולקצץ ממנו כל פעם רק את ספרת היחידות, עד שנותרים עם הספרה האחרונה. x=91
פורמט – format
פורמט – format פייתון מסייעת לנו להדפיס נתונים בתוך קונטקסט כך שנבין טוב יותר על מה מדובר, על מנת לעשות זאת אנו צריך לשלב בתוך שורת טקסט משתנים, ואנו צריכים שהתוכנה תבדיל בין אלה לאלה. בעבר היו דרכים מורכבות יותר לעשות זאת, והיום זה פשוט מאוד. הדרך הפשוטה ביותר היא לרשום את האות f (מהמילה format) לפני המחרוזת, ובתוך סוגריים מסולסלים, להציב את המשתנים, והתוכנה כבר תחבר אותם יפה. בואו נראה איך עושים את זה – x=5 print (f"roni is {x} years old") >>> roni is 5 years old עוד אחת
חלק שני – מתקדמים, הקדמה
הקדמה מי שהצליח להגיע עד לשלב הזה יכול בהחלט לטפוח לעצמו על הכתף, ולהניח לאגו מעט לתפוח. החלק השני הוא המאני טיים של הקורס הזה (גם כי בהתחלה שקלתי לגבות כסף על החלק הזה), כי הלימוד מתחיל להעמיק ולדרוש חשיבה עמוקה יותר. אנו נכנסים למעגלים מורכבים יותר ועמוקים יותר. תחזיקו חזק. באנו ליהנות!
לוגיקה בוליאנית boolean
לוגיקה בוליאנית boolean קשה לדמיין שפת תכנות בלי להשתכשך בלוגיקה בוליאנית שהתוצרים שלה הם נכון או לא נכון True או False והן נכתבות עם אותיות רישיות גדולות, ללמד על מעמדן המיוחד בפייתון. x=2**3 print (x is 8) >>> True בהתחלה אנו מציבים ב x את הערך 8 (2 בחזקת 3) ולאחר מכן שואלים את התוכנה האם x הוא 8 והתשובה הלא מפתיעה שלה היא שההיגד הזה (x is 8 ) הוא נכון True. x=2**3 print (x == 7) >>> False ההיגד x שווה ל- 7 אינו נכון ולכן נקבל False . פייתון יודעת גם להתייחס בהקשר המ
bottom of page