Λύση της ενσωματωμένης δραστηριότητας εμπέδωσης του κεφαλαίου 3 (επαλήθευση των ενσωματωμένων συναρτήσεων float, int, str, abs, pow, divmod στο shell της Python).
Ερώτηση: Στο περιβάλλον της γλώσσας Python, επαληθεύστε τις παρακάτω συναρτήσεις: Η float() μετατρέπει ακεραίους και συμβολοσειρές σε δεκαδικούς αριθμούς. Η int() δέχεται οποιαδήποτε αριθμητική τιμή και τη μετατρέπει σε ακέραιο κόβοντας τα δεκαδικά ψηφία, αν υπάρχουν. H str() δέχεται οποιαδήποτε τιμή και την μετατρέπει σε συμβολοσειρά. Η abs() επιστρέφει την απόλυτη τιμή ενός αριθμού. Η pow(a,b) επιστρέφει τη δύναμη του α υψωμένη στο β. H divmod(x,y) επιστρέφει το ακέραιο πηλίκο και το ακέραιο υπόλοιπο της διαίρεσης x/y.
Απάντηση:
>>> float(10) # ακέραιος -> δεκαδικός
10.0
>>> float("3.25") # συμβολοσειρά -> δεκαδικός
3.25
>>> int(5.678) # κόβει τα δεκαδικά (δεν στρογγυλοποιεί)
5
>>> int(-5.678) # η αποκοπή γίνεται προς το 0
-5
>>> int(7) # ακέραιος μένει ακέραιος
7
>>> str(5.678) # οποιαδήποτε τιμή -> συμβολοσειρά
'5.678'
>>> str(True)
'True'
>>> abs(-45) # απόλυτη τιμή
45
>>> abs(3.5)
3.5
>>> pow(2, 3) # 2 στην 3η = 8 (ισοδύναμο με 2**3)
8
>>> divmod(10, 3) # (ακέραιο πηλίκο, υπόλοιπο) = (3, 1)
(3, 1)
>>> divmod(17, 5)
(3, 2)
int() αποκόπτει τα δεκαδικά (5.678 → 5, −5.678 → −5) και δεν στρογγυλοποιεί· η str() εμφανίζει το αποτέλεσμα μέσα σε εισαγωγικά στο shell, γιατί πρόκειται για συμβολοσειρά· η pow(2,3) ταυτίζεται με 2**3· η divmod(x,y) επιστρέφει πλειάδα δύο τιμών, ίδιες με x/y (ακέραιο πηλίκο στην Python 2) και x%y.a = int(input('Δώσε έναν αριθμό: ')) — αν ο χρήστης δώσει 2345.10, η print a εμφανίζει 2345.Σύνοψη: float(10)→10.0, int(5.678)→5, str(5.678)→'5.678', abs(-45)→45, pow(2,3)→8, divmod(10,3)→(3, 1) — όλες οι περιγραφές επαληθεύονται στο shell.
Κριτήρια αξιολόγησης: