Εισοδος από το πληκτρολόγιο
Συσκευές εισόδου και πρόγραμμα
Ο υπολογιστής διαθέτει διάφορες συσκευές εισόδου όπως πληκτρολόγιο και ποντίκι. Έτσι μπορεί ένα πρόγραμμα να διαβάζει εντολές και δεδομένα από τον χρήστη
- Πληκτρολόγησε μου το όνομά σου
- Πάτησες το αριστερό κλικ του ποντικιού
- Σκάναρες τον κωδικό "AC453F02"
- Πάτησες το κουμπί X στο joystick
Συνάρτηση input()
Η συνάρτηση input διαβάζει δεδομένα από το πληκτρολόγιο. Σύνταξη
input(μήνυμα που θα εμφανιστεί)
- Η input σταματάει την εκτέλεση του προγράμματος.
- Εμφανίζει το μήνυμα που υπάρχει στην παράμετρο
- Ο χρήστης εισάγει δεδομένα
- Όταν πατήσει o χρήστης ENTER συνεχίζει η εκτέλεση του προγράμματος
Δραστηριότητα 1
Γράψτε και εκτελέστε το παρακάτω πρόγραμμα
print("Καλησπέρα")
input("Πως σε λένε;")
print("Γεια χαρά!")
Απαντήστε στα παρακάτω ερωτήματα
- Γιατί το πρόγραμμα σταματάει; Τι περιμένει;
- Που πήγε αυτό που γράψατε;
Που πάνε τα δεδομένα που εισάγουμε;
Η input() από μόνη της δεν αποθηκεύει τα δεδομένα στο πρόγραμμα. Πρέπει λοιπόν εμείς να αποθηκεύσουμε τα δεδομένα σε μια μεαβλητή π.χ.
value = input("Πως σε λένε;")
Μπορουμε να δούμε την input() ως μια έκφραση που επιστρέφει ως τιμή αυτό που εισάγουμε στο πληκτρολόγιο
Η συνάρτηση input( ) είναι μια εντολή εισόδου της γλώσσας προγραμματισμού Python
Δραστηριότητα 2
Γράψτε ένα πρόγραμμα σε γλώσσα προγραμματισμού Python το οποίο
- Θα εκτυπώνει ένα μήνυμα χαιρετισμού "Γειά σου"
- Θα ζητά από το χρήστη να εισάγει το όνομά του με το αντίστοιχο μήνυμα. Το όνομα θα αποθηκεύεται σε αντίστοιχη μεταβλητή (π.χ name).
- Θα ζητά από το χρήστη να εισάγει το επιθετό του με το αντίστοιχο μήνυμα. Το όνομα θα αποθηκεύεται σε αντίστοιχη μεταβλητή (π.χ surname).
- Θα εμφανίζει το μήνυμα "Χαρηκα για τη γνωριμία" μαζί με το ονοματεπώνυμο που πληκτρολογήσατε, για παράδειγμα
Χάρηκα για τη γνωριμία Γιώργο Κακλαμάνη
Συμβουλές
Θα χρειστείτε
print( ) για εμφάνιση μηνύματος
value = input("Μήνυμα") για αποθήκευση εισόδου από το πληκτρολόγιο σε μεταβλητή
Εισαγωγή αριθμών
Υπάρχει ένα πρόβλημα όταν εισάγω αριθμούς. Η εντολή input( ) βλέπει όλα τα δεδομένα ως κείμενο. Έτσι το παρακάτω θα βγάλει λάθος
value = input("Δώσε ένα αριθμό")
value = value + 10
Δεν μπορεί να γίνει πράξη μεταξύ κειμένου και αριθμού. Γιαυτό όταν διαβάζουμε αριθμούς με την input( ) πρεπει να τους μετατρέψουμε σε ακέραιο ή δεκαδικό.
Παράδειγμα
Εκτελέστε το πρόγραμμα που φαίνεται αριστερά. Ποιο είναι το λάθος;
Για να διορθώσετε το λάθος σβήστε το χαρακτήρα # από τη γραμμή 2 και εκτελέστε το πρόγραμμα ξανά
Τι άλλαξε τώρα;
Συναρτήσεις μετατροπής σε ακέραιο int( ) και δεκαδικό float( )
Μετατροπή σε ακέραιο
value = int(value)
Μετατροπή σε δεκαδικό
value = float(value)
Εναλλακτικά για genius
value = int( input("Type a number") )
- Ο χρήστης πληκτρολογεί έναν αριθμό π.χ. 10
- Η συνάρτηση input( ) επιστρέφει το "10" ως συμβολοσειρά
- Η συνάρτηση int("10") επιστρέφει το 10 ως αριθμό
- Η μεταβλητή value αποθηκεύει την τιμή 10, δηλαδή value = 10