הפרק הקודם:
פייתון 3 - תנאיםמה נלמד
- איך לקבל ערכים מהמשתמש
- איך להמיר ערך מחרוזת לערכים אחרים והפוך
קלט-פלט
בפרק הראשון כתבתנו טקסט למסך ע”י הפקודה print.
ככה יצרנו אינטרקציה חד צדדית של התוכנה למשתמש, בזמן אמת כתבנו מה קורה בתכנית שלנו.
בשביל אינטרקטיביות מלאה אנחנו יכולים גם לקבל ערכים מהמשתמש, זה נקרא קלט.
או באנגלית - Input/Output.
זהו קונספט מאוד בסיסי בתוכנה,
ערכים יכולים להיכנס לתוך התוכנה שלנו במגוון דרכים שונות: משתמש כותב, קובץ, מהאינטרנט וכדו’…
וערכים יכולים לצאת מתוך התוכנה שלנו - למסך של המשתמש, לקובץ, לאינטרנט, למדפסת וכדו’….
כמעט הכל בתחום התוכנה מסתכם בקלט-פלט.
התוכנה מקבלת קלט -> מעבדת אותו -> מוציאה פלט.
Input
בפייתון אנחנו משתמשים בפקודת input
כדי לקבל קלט מהמשתמש.
1 | #A |
נסו את זה בעצמכם!
באופציה A
הקוד מוציא פלט למשתמש ומבקש ממנו את השם.
שימו לב ל-input
הריק.
באופציה B
הפקודה input
מקבלת מחרוזת שבמקום לעשות print
לבד הפקודה מדפיסה לנו את המשפט שלנו.
ההבדל הוא שב-A
מודפסת שורה חדשה בעזרת ה-print
.
המרה של הקלט לסוג ערך אחר
סוג הערך שמתקבל מהקלט הוא מחרוזת, זאת אומרת המשתמש הכניס תווים למשתנה שלנו.
כמו שאתם יודעים התו “5” אינו שווה ערך לערך המספרי: 5.
או בתכנות:
5 != “5”.
מכיוון ש:
integer != string
מספר הוא לא מחרוזת
אזי אנחנו צריכים להמיר את סוג הערך לערך מספרי אם אנחנו רוצים לייצג אותו בתור מספר.
יש לנו 3 פעולות שאפשר להשתמש בהן:
int(value)
- מתרגם את הערך למספר שלםfloat(value)
- מתרגם את הערך כמספר עשרוניstr(value)
- מתרגם את הערך למחרוזת
למשל:
1 | name = input('Your name: ') |
הפעולה type
מחזירה לנו את שם הסוג של המשתנה.
נסו להריץ את הקוד.
Your age: 42
<class ‘str’>
<class ‘int’>
'str'
מייצג מחרוזת.'int'
מייצג מספר.
תרגילים
עבור חישוב שטח של משולש קלטו שני ערכים מהמשתמש - גובה ובסיס
השתמשו בערכים אלו על מנת לחשב את השטח.כתבו תכנית אשר קולטת פרטים מהמשתמש: שם, גיל ועיסוק,
הציגו למסך בפורמט HTML את הפרטים של האדם,
הפורמט הוא:
1 | <h2>name</h2> |
יש להחליף את name, age, job בפרמטרים שקלטתם מהמשתמש.
מהו HTML?
פורמט HTML מאפשר ליצור מסמכים אינטרנטיים, בעצם הדפדפנים מציגים למסך אלמנטים אשר בנויים מתגיות כאלו.
אם תלחצו בדפדפן שלכם F12 ותלכו לElements אתם בעצם תראו את כל התגיות של האתר.
1 | height = int(input('Height: ')) |
זוכרים שיש להמיר את הערך המתקבל מהקלט? אם כן כל הכבוד!
אם לא, תחשבו על למה אנחנו צריכים להמיר, ולמה אי אפשר להשתמש בערך המחרוזת כמספר על מנת להכפיל ולחלק.
הסיבה לכך היא שערך של מחרוזת לא אומר לנו את המספר שלו,
אנחנו יכולים לקלוט את התו “6” וכך גם תווים כגון “a”,”א” ותווים מיוחדים כמו “@”.
סוג המשתנה משפיע על הפעולות שאנחנו יכולים לעשות, לוגית מאוד קל לחשוב על זה:
אפשר להכפיל מספרים, אבל אי אפשר להגדיר בקלות הכפלת מחרוזות.
1 | name = input('Please enter your name: ') |
השתמשנו בשני פיצ’רים (יכולות) של פייתון למחרוזות.
שלושת הגרשיים “”” string “”” מאפשרים ליצור מחרוזת עם שורות חדשות.
זה לא אפשרי עם הגרש הבודד או גרשיים בלבד.
היכולת השנייה היא שימוש בf על מנת להכניס משתנים לתוך המחרוזת שלנו.
דוגמא פשוטה:
1 | name = 'Iluga' |
רושמים את הf לפני המחרוזת שאנו יוצרים ובתוך המחרוזת ניתן להוסיף את שם המשתנה בעזרת הסוגריים המסולסלים {}
.
בפרק הבא נראה כיצד יוצרים רשימות - משתנה שמכיל יותר מערך אחד!
פייתון 5 - רשימות