פעמים רבות אנו רוצים להריץ את אותו רצף פעולות (קלט) על משתנים שונים. דוגמה .
עד היום למדנו לכתוב עבור כל משתנה קלט משל עצמו. היום נלמד על תכנית שמקבלת קלט מהמשתמש. דהינו כל אדם יכול לבחור אילו פרמטרים להציב בערכי ו-. באופן כזה שלא נזדקק לרשום תכנית עבור כל משתנה. כמו גם נוכל לקבל נתונים שונים בהתאם להקלדה שהתבצע בידי המשתמש.
במקרה של קלט של המשתמש אנו נהיה חייבים להעזר בחלון הסקריפטים ולא הקונסול מפני שנרצה להגדיר מספר פעולות אותן לבסוף נריץ יחדיו.
קלט מהמשתמש מוגדר באמצעות פונקצית 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.
תרגיל 1: צרו משוואת בשני נעלמים מהצורה
- כתבו קוד לפיו המשתמש יזין את ששת המשתנים
- הגדירו את הנעלמים ו- כך שקטע הקוד יחשב את שני הנעלמים על פי המספרים אותם המשתמש יזין. לדוגמה אם המשתמש יקליד את המשתנים תתקבל התוצאה עבור הנעלמים.
- לבסוף הגדירו פקודת הדפס ובה יהיה רשום
|
תחילה נגדיר את המשתנים:
num_11 = float(input('Insert a number1: '))
num_22 = float(input('Insert a number2: '))
num_33 = float(input('Insert a number3: '))
num_44 = float(input('Insert a number4: '))
num_55 = float(input('Insert a number5 '))
num_66 = float(input('Insert a number6: '))
מאחר שאנו רוצים כי המחשב יחשב את הנעלמים איננו יכולים להעזר בהם בעת הגדרת המשתנה. עלינו להיפטר מהם.
על כן נפתור בעצמנו את המשוואות:
עדין נותר לנו משתנה. נפתור את המשואות:
נשם לב כי בכדי למצוא את הנעלם x אנחנו בעצם משווים בין שתי משוואות עם נעלם ולכן:
הנעלם
הנעלם
עתה נציב את הנעלמים באמצעות המשתנים:
y=((num_5*num_3-num_2*num_4)/(num_5*num_1-num_4*num_2))
x=((num_2*num_4-num_1*num_6)/(num_4*num_3+num_1*num_6))
נגדיר את פעולת ההדפס. יתכן כי בחלק זה תסתבכו מפני שלא הוסבר כיצד להציג סוגרים. ניתן לראות הסבר לכל הפעולות של ההדפס בדף זה
print('the results of (x,y) are', (x), 'and', (y))
| |
|