פייתון/פייתון גרסה 3/קלט מהמשתמש

קלט מהמשתמש

עריכה

פעמים רבות אנו רוצים להריץ את אותו רצף פעולות (קלט) על משתנים שונים. דוגמה  .

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

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

הגדרת קלט מהמשתמש

עריכה

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

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

>>> input ('which fruit would you like to buy?')
which fruit would you like to buy?

עתה נגדיר את פעולת הקלט כמשתנה fruit_name = בכדי לזרז את תהליך הכתיבה:

>>> fruit_name = input ('which fruit would you like to buy?')
which fruit would you like to buy?

לבסוף נגדיר כי לאחר קבלת התשובה תתקבל הכיתוב "אנחנו לא מוכרים פירות"

>>> fruit_name = input ('which fruit would you like to buy?')
>>> print ("we don't sell fruits")

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

מספר פקודות עבור קלט

עריכה

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

>>> fruit_name = input ('which fruit would you like to buy?')
>>> print(types(fruit_name))

כמובן שאם נקליד מלל נקבל str

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

הטיפוס החזרה של קלט המשתמש הוא תמיד str.

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

>>> age = input ('what is your age?')
>>> print(5*(age))

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

>>> age = int(input ('what is your age?'))
>>> print(5*(age))

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

תרגיל

עריכה


מקורות חיצוניים

עריכה