January 25, 2021

פייתון 4 - קלט ופלט


הפרק הקודם:

פייתון 3 - תנאים

מה נלמד

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

קלט-פלט

כבר למדנו על הפקודה print - כותבת טקסט למסך.
כתיבת טקסט למשתמש נקרא פעולת פלט.
סוג הפקודה הזו יוצרת אינטרקציה חד צדדית, מהתוכנה למשתמש התוכנה.
באנגלית אנו קוראים לתכונה הזו - Output.
בשביל אינטרקטיביות מלאה אנו זקוקים לצד השני - שהמשתמש ייכתוב לתוכנה משהו.
אנו קוראים לתכונה הזו - קלט.
או באנגלית - Input.
ביחד זה נקרא Input-Output או בקיצור IO.

קונספט הקלט/פלט הוא הקונספט הבסיסי ביותר בהנדסת תוכנה.
התוכנה מקבלת ערכים ממגוון מקומות - משתמש, קריאת קובץ, מהאינטרנט,
קריאה בקר וכדו’…
והתוכנה יכולה להוציא ערכים - למסך, לקובץ, לאינטרנט, למדפסת וכדו’…

כמעט הכל בתחום התוכנה מסתכם בקלט-פלט.
התוכנה מקבלת קלט -> מעבדת אותו -> מוציאה פלט.

אפילו בכתיבת פרומפטים זה עובד באותה הצורה - אתם כותבים פרומפט, מערכת הבינה מעבדת אותו, ומוציאה לכם פלט!

קלט - Input

בפייתון אנחנו משתמשים בפקודת input כדי לקבל קלט מהמשתמש.
ניתן להעביר מחרוזת לפקודה על מנת להדפיס משהו מבעוד מועד.
הסתכלו בין שני הדוגמאות - A ו-B.

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


נסו זאת בעצמכם!

הסבר

באופציה A הקוד מוציא פלט למשתמש ומבקש ממנו את השם.
שימו לב ל-input הריק.

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

ההבדל הוא שב-A מודפסת שורה חדשה בעזרת ה-print.

המרה של הקלט לסוג ערך אחר

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

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

כמו שאתם יודעים התו “5” אינו שווה ערך לערך המספרי: 5.
או בתכנות:

5 != "5"

מכיוון ש:
integer != string

מספר הוא לא מחרוזת

פקודות המרה

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

  • int(val) - מתרגם את הערך למספר שלם
  • float(val) - מתרגם את הערך כמספר עשרוני
  • str(val) - מתרגם את הערך למחרוזת

פקודת סוג ערך

פייתון מאפשרת לנו להסתכל על משתנה ולומר איזה ערך הוא.
נעשה זאת באמצעות פקודת type(val).

דוגמא


קבלת קלט בפרומפטים

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

למשל:

1
2
Write me a python program that inputs width and height from user.  
The output will be the total size.

פרומפט כזה הוא טכני יותר המורה לצ’אט כיצד בדיוק אנחנו רוצים את זה.
אפשר בצורה אמורפית יותר:

1
Write me a python program that calculates the total size of a rectangle.  

קוד לדוגמא מהבינה:


  • קיצור - במקום ליצור 2 שורות, הבינה מאחדת שורות וקוראת לפקודות באותה השורה.
  • הבינה שמה בעצמה כיצד האינטרקציה עם המשתמש תיראה, במקרה הזה הקוד ייראה כותרות של רוחב וגובה.
  • כאן הוא משתמש ב-int.

דיוק בפרומפט

בדוגמא הבינה השתמשה בפקודת int.
מה ייקרה אם נרצה לחשב ערכים מדויקים יותר? זה לא ייעבוד.
לעיתים נצטרך לשים לב לאילו פקודות הוא משתשמ בהם.
דרך אחת זה לומר לו במדויק:
Use float type.
דרך שנייה זה לומר לו שאנחנו רוצים דיוק:
Calculate with precision.

למשל:

1
Write me a python program that calculates with precision the total size of a rectangle.

קוד:


תרגילים

  1. שני קלטים ופלט:
    עבור חישוב שטח של משולש קלטו שני ערכים מהמשתמש - גובה ובסיס
    השתמשו בערכים אלו על מנת לחשב את שטח המשולש.
    בסוף הדפיסו את הערך כפלט.
✏️ בדיקת שם משתמש

  1. מה סוג המשתנה של “סוג”?
    אם נבצע את הפקודה type על סוג ערך ולא ערך, מה יהיה סוגו?
✏️ סוג של סוג

  1. כתבו תכנית אשר קולטת פרטים מהמשתמש: שם, גיל ועיסוק,
    הציגו למסך בפורמט HTML את הפרטים של האדם,
    הפורמט הוא:
1
2
3
4
5
<h2>name</h2>
<p>
Age: age
Occupation: job
</p>

יש להחליף את name, age, job בפרמטרים שקלטתם מהמשתמש.

✏️ פרטים בפורמט HTML

מהו HTML?
פורמט HTML מאפשר ליצור מסמכים אינטרנטיים, בעצם הדפדפנים מציגים למסך אלמנטים אשר בנויים מתגיות כאלו.
אם תלחצו בדפדפן שלכם F12 ותלכו לElements אתם בעצם תראו את כל התגיות של האתר.

תשובות לתרגילים




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

פייתון 5 - רשימות
טוען...

על הפוסט

הפוסט נכתב על ידי Ilya, רישיון על ידי CC BY-NC-ND 4.0.

שתפו את הפוסט

Email Facebook Linkedin Print

קנו לי קפה

#Software#Python