קורס פיתוח מתקדם בפייתון
פרק
>
רמה
מודולי מתמטיקה
מודול מתמטי מורחב
מטרה
חשב את התוספות החדשות של הקרקע לחווה באמצעות פונקציות נוספות שייבאו ממודול המתמטיקה.
מעבר לגשר, לסניף יש משרדים שמשמשים לסקר את הקרקע הלא משולבת שמחברת בין שני חלקים שונים של החווה. כאן נבצע מדידות ומימדים של הקרקע; יהיה זה רעיון טוב לסדר אותם ולתעד את הנתונים. ניתן להשיג זאת על ידי שימוש במודול המתמטיקה, ברמה זו נלמד על סט חדש של פונקציות שנוכל להשתמש בהן לעיבוד הנתונים. אתה משתמש באותו import math וב-math. לפני הפונקציות כדי להשתמש בסט זה:
math.radians(): ממיר מעלות לרדיאנים / זויות.math.floor(): מעגל את המספר כלפי מטה למספר השלם הנמוך ביותר.math.ceil(): מעגל את המספר כלפי מעלה למספר גבוה יותר.math.atan2(): מחזיר את הארקטנגנט של היחס בין שני מספרים ברדיאנים.math.isclose(): בודק אם שני מספרים קרובים זה לזה, מחזיר true/false.math.fsum(): מסכם מספרים עשרוניים (float) יחד מרשימה או איטרטור.math.dist(): בודק את המרחק בין שתי נקודות, כאשר הערכים צריכים להיות מוצגים ברשימות או באיטרטור.
לתחילת איסוף הנתונים הגולמיים מהתרשימים, סע לעבר הסימנים הקלים של ה־X על השטיח האדום והכחול. השתמש בפונקציה read() כדי לזהות את הממדים הגולמיים הדרושים לביצוע המדידות. מידות אלו כבר מאוחסנות בארבעה קבועים משתנים בשם: red_x , red_y , blue_x ו-blue_y.
לאחר ששתי קבוצות הנתונים זוהו, סע לעבר סימן ה־X הכהה על השטיח הכתום ופנה לשולחן. השתמש ב-math.radians() ו-math.ceil() כדי להפוך את המשתנים blue_x ו-blue_y לרדיאנים ולעגל אותם כלפי מעלה. השתמש ב-float() כדי להבטיח שהקבועים הם מספרים עשרוניים הניתנים לעריכה. לדוגמה, עבור המשתנה blue_x: המר לרדיאנים כך: blue_x = math.radians(float(blue_x)) ועגל את הערך כלפי מעלה כך: blue_x = math.ceil(float(blue_x)). עשה את אותו הדבר עבור blue_y בסימן X זה, וכאשר תסיים, השתמש בפונקציה write() הכתובה מראש והוסף את המשתנים blue_x ו-blue_y כדי לתעד אותם.
סע לעבר סימן ה־X הכהה על השטיח הירוק והשתמש ב-math.radians() ו-math.floor() כדי להמיר את המשתנים red_x ו-red_y לרדיאנים ולעגל אותם כלפי מטה. לדוגמה, עבור המשתנה red_x: המר לרדיאנים כך: red_x = math.radians(red_x) ועגל את הערך כלפי מטה כך: blue_x = math.floor(red_x). עשה את אותו הדבר עבור red_y בסימן X זה, וכאשר תסיים, השתמש בפונקציה write() הכתובה מראש והוסף את המשתנים red_x ו-red_y כדי לתעד אותם.
עבור אל סימן ה־X הזהוב ופנה לשולחן. כאן ניצור שני משתנים חדשים, data_a ו-data_b. כאן נאחסן את הערכים של הארקטנגנטים של כל קבוצה באמצעות הפונקציה math.atan2. עבור data_a נשתמש במשתנים blue_x ו-blue_y כדי למלא את הפונקציה, כך: data_a = math.atan2(blue_x,blue_y). עבור data_b, עשה את אותו הדבר אך עם red_x ו-red_y. לאחר מכן, השתמש בפונקציה write() הכתובה מראש והוסף את המשתנים data_a ו-data_b כדי לתעד אותם.
לאחר שטיפלת בשולחנות התחתונים, סע אל סימן ה־X הכהה על השטיח הסגול, צור משתנה בשם comparison והשתמש בו עם הפונקציה math.isclose(), כאשר data_a ו-data_b הם הארגומנטים, כך: comparison = math.isclose(data_a, data_b). השתמש בפונקציה write() הכתובה מראש עם המשתנה comparison בסימן X זה.
עבור לסימן ה־X על השטיח הלבן, צור רשימה בשם data_list והוסף בה את המשתנים data_a ו-data_b בסדר זה. צור משתנה בשם total והשתמש בפונקציה math.fsum() עם data_list כארגומנט, כך: total = math.fsum(data_list). השתמש במשתנה total עם הפונקציה write() הכתובה מראש בסימן X זה.
עבור אל סימן ה־X הכהה על השטיח הצהוב ופנה לשולחן, המר את data_a ו-data_b לערכי רשימה בודדים, לדוגמה עבור data_a עשה: data_a = [data_a]. עשה את אותו הדבר עבור data_b כדי להמיר את שני המשתנים לאיטרטורים לשימוש עם הפונקציה math.dist(). צור משתנה בשם distance והשתמש בו לאחסון הערך מ-math.dist(), כאשר data_a ו-data_b הם הארגומנטים שלו. השתמש במשתנה distance עם הפונקציה write() הכתובה מראש כדי להשלים את הרמה.