Ενότητα 1 - Τμήμα 1 - Είσοδος και δομή ακολουθίας
Ιστότοπος: | ΕΛ/ΛΑΚ Moodle |
Μάθημα: | Εργαστήριο Python |
Βιβλίο: | Ενότητα 1 - Τμήμα 1 - Είσοδος και δομή ακολουθίας |
Εκτυπώθηκε από: | Guest user |
Ημερομηνία: | Σάββατο, 23 Νοεμβρίου 2024, 3:25 PM |
Περιγραφή
Μετά την ολοκλήρωση της ενότητας οι φοιτητές θα μπορούν να:
- χρησιμοποιούν την εντολή εισαγωγής
- γράφουν εντολές για να εισάγουν δεδομένα από την είσοδο και να τα αποθηκεύουν σε μεταβλητές
- διαφοροποιούν τους τύπους μεταβλητών δεδομένων
- χρησιμοποιούν εντολές για τη μετατροπή τύπων δεδομένων
1.2.1 Δέσμες Ενεργειών (scripts)
Μέχρι τώρα έχουμε μάθει ότι μπορούμε να αλληλεπιδράσουμε με την Python χρησιμοποιώντας τη διασύνδεση CLI. Αλλά η εισαγωγή του κώδικα Python στο prompt >>> είναι αργή και μπορεί να γίνει μόνο μία γραμμή τη φορά. Επίσης, δεν είναι δυνατή η αποθήκευση του κώδικα έτσι ώστε να μπορεί να το εκτελέσει άλλο άτομο. Ευτυχώς, υπάρχει ένας ακόμα καλύτερος τρόπος για να εισάγετε τον κώδικα Python.Ο κώδικας της Python μπορεί να εισαχθεί χρησιμοποιώντας μια δέσμη ενεργειών. Μιά δέσμη ενεργειών είναι μια σειρά γραμμών κώδικα Python που θα εκτελεστούν διαδοχικά.
Στο Thonny μπορείτε να γράψετε μια σειρά εντολών στο παράθυρο του προγράμματος επεξεργασίας και να τα αποθηκεύσετε ως αρχείο κώδικα.
Για να δημιουργήσετε μια απλή δέσμη ενεργειών, αντιγράψτε τον παρακάτω κώδικα στην περιοχή της δέσμης ενεργειών και αποθηκεύστε την ως my_first_script.
name = input("What is your name? ")
age = input("What is your age? ")
print (name," is ", age, " years old.")
1.2.2 - Μετατροπή τύπου δεδομένων
Στο προηγούμενο παράδειγμα έχουμε διαβάσει από την είσοδο και εισάγαμε ότι έχουμε διαβάσει σε μια μεταβλητή.Στην περίπτωση της εισόδου της ηλικίας τι μας εμποδίζει από το γράψιμο της ηλικίας με γράμματα;
Δοκιμάστε αυτό στο CLI
>>> a = input("Enter a number : ")
>>>
Sixteen>>>
print (a)Πώς μπορούμε να βρούμε τι τύπου είναι μια μεταβλητή; Μπορούμε να χρησιμοποιήσουμε την εντολή type. Δοκιμάστε τον ακόλουθο κώδικα στη γραμμή εντολών εισάγοντας έναν αριθμό κινητής υποδιαστολής (π.χ. 34.5).>>> a = input("Enter a number : ")
>>> type (a)
Τώρα δοκιμάστε τις ακόλουθες εντολές διαδοχικά:
>>> a = input("Enter a number : ")
>>> 17
>>> print (a)
>>> print(a+2)
Η προηγούμενη εντολή δημιουργεί ένα σφάλμα. Γιατί; Μάθετε χρησιμοποιώντας τις ακόλουθες εντολές.
>>> type(a)
>>> a = int(a)
>>> type(a)
>>> print(a)
>>> print(a+2)
>>> a = float(a)
>>> type(a)
>>> print(a+5)
1.2.3 - Χιλιόμετρα ανά λίτρο
Ας πούμε ότι θα θέλαμε να υπολογίσουμε τα χιλιόμετρα ανά λίτρο που επιτυγχάνει ένα αυτοκίνητο.
Ένα απλό πρόγραμμα θα ήταν:
k = 253 # we have traveled 253km
g = 15.2 # we have used 15.2 liters of gasoline
kpg = k / g
print ("Kilometers per liter: ", kpg)
Αυτό το πρόγραμμα (δέσμη ενεργειών) θα μπορούσε να είναι ακόμα πιο χρήσιμο εάν αλληλεπιδρούσε με τον χρήστη ζητώντας του χρήστες να εισάγει τις μεταβλητές. Αυτό μπορεί να γίνει με τη δήλωση εισόδου input. Θα χρησιμοποιήσουμε επίσης καλύτερο όνομα για τις μεταβλητές, ώστε να μην χρειαζόμαστε σχόλια για να εξηγήσουμε τι αντιπροσωπεύουν οι μεταβλητές. Δείτε τον παρακάτω κώδικα.
# This code almost works
kilometers_driven = input("Enter kilometers driven: ")
liters_used = input("Enter liters used: ")
kpl = kilometers_driven / liters_used
print("Kilometers per liter: ", kpl)
Γιατί αυτός ο κώδικας παράγει ένα σφάλμα; Αυτό οφείλεται στο γεγονός ότι το πρόγραμμα δεν γνωρίζει ότι ο χρήστηςεισάγει αριθμούς. Ο χρήστης μπορεί να εισάγει "Bob" και "Mary".
Για να δηλώσουμε στον υπολογιστή ότι αυτοί είναι αριθμοί, είναι απαραίτητο να περιβάλλουμε τη λειτουργία εισαγωγής με int() ή float(). Χρησιμοποιήστε τον πρώτο για ακέραιους αριθμούς και τον τελευταίο για τους δεκαδικούς αριθμούς.
# Calculate kilometers Per Liter
print("This program calculates kpl.")
# Get kilometers driven from the user
kilometers_driven = input("Enter kilometers driven: ")
# Convert text entered to a floating point number
kilometers_driven = float(kilometers_driven)
# Get liters used from the user
liters_used = input("Enter liters used: ")
# Convert text entered to a floating point number
liters_used = float(liters_used)
# Calculate and print the answer
kpl = kilometers_driven / liters_used
print("Kilometers per liter: ", kpl)