Η ενσωματωμένη συνάρτηση input()
στην Python χρησιμοποιείται για να ζητήσετε και να λάβετε είσοδο από τον χρήστη. Όταν καλείται η input()
, το πρόγραμμα παύει την εκτέλεση και περιμένει τον χρήστη να πληκτρολογήσει κάτι. Μόλις ο χρήστης πατήσει Enter, το κείμενο που εισήχθη επιστρέφεται από την συνάρτηση και μπορεί να αποθηκευτεί σε μια μεταβλητή.
Παράδειγμα:
user_input = input("Please enter something: ") print("You just typed:", user_input)
Σε αυτό το παράδειγμα, το πρόγραμμα θα εμφανίσει το μήνυμα “Please enter something: ” και θα περιμένει για την είσοδο του χρήστη. Μετά την είσοδο και το πάτημα του Enter, η είσοδος θα αποθηκευτεί στη μεταβλητή user_input
και θα εκτυπωθεί.
Η Συνάρτηση input Πάντα Επιστρέφει ένα String
Όταν χρησιμοποιείτε την συνάρτηση input()
στην Python, τα δεδομένα που εισάγει ο χρήστης επιστρέφονται πάντα ως string, ανεξάρτητα από το αν ο χρήστης εισάγει αριθμούς ή κείμενο. Αυτό μπορεί να οδηγήσει σε παρανοήσεις, ειδικά όταν οι τιμές που εισάγονται προορίζονται για αριθμητικές πράξεις.
Για παράδειγμα:
value1 = input('Enter first number: ') # Ο χρήστης εισάγει: 7 value2 = input('Enter second number: ') # Ο χρήστης εισάγει: 3 value1 + value2
Σε αυτή την περίπτωση, η Python δεν προσθέτει τους αριθμούς 7 και 3 για να παράγει 10, αλλά αντ’ αυτού συνενώνει τις συμβολοσειρές ‘7’ και ‘3’, παράγοντας τη συμβολοσειρά ’73’. Αυτό είναι γνωστό ως συνένωση συμβολοσειρών (string concatenation) και δημιουργεί μια νέα συμβολοσειρά που περιέχει την τιμή του αριστερού τελεστέου ακολουθούμενη από την τιμή του δεξιού τελεστέου.
Λήψη Ακέραιας Τιμής από τον Χρήστη στην Python
Όταν χρειάζεστε να λάβετε μια ακέραια τιμή από τον χρήστη, μπορείτε να μετατρέψετε τη συμβολοσειρά που λαμβάνετε από την συνάρτηση input()
σε ακέραιο αριθμό χρησιμοποιώντας την ενσωματωμένη συνάρτηση int()
.
Παράδειγμα:
value = input('Enter an integer: ') # Ο χρήστης εισάγει: 7 value = int(value)
Μετά από αυτό, η μεταβλητή value
περιέχει τον ακέραιο αριθμό 7. Επίσης, μπορείτε να συνδυάσετε τις δύο παραπάνω γραμμές κώδικα:
another_value = int(input('Enter another integer: ')) # Ο χρήστης εισάγει: 13
Τώρα, η μεταβλητή another_value
περιέχει τον ακέραιο αριθμό 13. Οι μεταβλητές value
και another_value
περιέχουν ακέραιες τιμές και η πρόσθεσή τους θα παράγει ένα ακέραιο αποτέλεσμα:
result = value + another_value
Το αποτέλεσμα της παραπάνω εντολής θα είναι 20, δεδομένου ότι η value
είναι 7 και η another_value
είναι 13.
Σημειώστε ότι αν η συμβολοσειρά που περνάτε στη συνάρτηση int()
δεν μπορεί να μετατραπεί σε ακέραιο, θα προκληθεί ένα σφάλμα ValueError
. Για παράδειγμα, αν ο χρήστης εισάγει έναν αριθμό που δεν είναι ακέραιος ή ένα μη αριθμητικό κείμενο, η μετατροπή θα αποτύχει και θα εμφανιστεί ένα σφάλμα.