Εισοδος από το πληκτρολόγιο

Συσκευές εισόδου και πρόγραμμα

Ο υπολογιστής διαθέτει διάφορες συσκευές εισόδου όπως πληκτρολόγιο και ποντίκι. Έτσι μπορεί ένα πρόγραμμα να διαβάζει εντολές και δεδομένα από τον χρήστη

  • Πληκτρολόγησε μου το όνομά σου
  • Πάτησες το αριστερό κλικ του ποντικιού
  • Σκάναρες τον κωδικό "AC453F02"
  • Πάτησες το κουμπί X στο joystick

Συνάρτηση input()

Η συνάρτηση input διαβάζει δεδομένα από το πληκτρολόγιο. Σύνταξη

input(μήνυμα που θα εμφανιστεί)
  1. Η input σταματάει την εκτέλεση του προγράμματος.
  2. Εμφανίζει το μήνυμα που υπάρχει στην παράμετρο
  3. Ο χρήστης εισάγει δεδομένα
  4. Όταν πατήσει o χρήστης ENTER συνεχίζει η εκτέλεση του προγράμματος

Δραστηριότητα 1

Γράψτε και εκτελέστε το παρακάτω πρόγραμμα

print("Καλησπέρα")
input("Πως σε λένε;")
print("Γεια χαρά!")

Απαντήστε στα παρακάτω ερωτήματα

  1. Γιατί το πρόγραμμα σταματάει; Τι περιμένει;
  2. Που πήγε αυτό που γράψατε;

Που πάνε τα δεδομένα που εισάγουμε;

Η input() από μόνη της δεν αποθηκεύει τα δεδομένα στο πρόγραμμα. Πρέπει λοιπόν εμείς να αποθηκεύσουμε τα δεδομένα σε μια μεαβλητή π.χ.

value = input("Πως σε λένε;")

Μπορουμε να δούμε την input() ως μια έκφραση που επιστρέφει ως τιμή αυτό που εισάγουμε στο πληκτρολόγιο

Η συνάρτηση input( ) είναι μια εντολή εισόδου της γλώσσας προγραμματισμού Python

Δραστηριότητα 2

Γράψτε ένα πρόγραμμα σε γλώσσα προγραμματισμού Python το οποίο

  1. Θα εκτυπώνει ένα μήνυμα χαιρετισμού "Γειά σου"
  2. Θα ζητά από το χρήστη να εισάγει το όνομά του με το αντίστοιχο μήνυμα. Το όνομα θα αποθηκεύεται σε αντίστοιχη μεταβλητή (π.χ name).
  3. Θα ζητά από το χρήστη να εισάγει το επιθετό του με το αντίστοιχο μήνυμα. Το όνομα θα αποθηκεύεται σε αντίστοιχη μεταβλητή (π.χ surname).
  4. Θα εμφανίζει το μήνυμα "Χαρηκα για τη γνωριμία" μαζί με το ονοματεπώνυμο που πληκτρολογήσατε, για παράδειγμα
Χάρηκα για τη γνωριμία Γιώργο Κακλαμάνη

Συμβουλές

Θα χρειστείτε

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") )
  1. Ο χρήστης πληκτρολογεί έναν αριθμό π.χ. 10
  2. Η συνάρτηση input( ) επιστρέφει το "10" ως συμβολοσειρά
  3. Η συνάρτηση int("10") επιστρέφει το 10 ως αριθμό
  4. Η μεταβλητή value αποθηκεύει την τιμή 10, δηλαδή value = 10