Στο βιβλίο The Hitchhiker’s Guide to the Galaxy, περιγράφεται μια υπερευφυής φυλή η οποία αποφασίζει να φτιάξει έναν υπολογιστή που θα δώσει οριστικά την απάντηση για το νόημα της ζωής. Ο υπολογιστής χρειάστηκε 7,5 εκατομμύρια χρόνια για να υπολογίσει και να ελέγξει την Απάντηση για τη Ζωή, το Σύμπαν και τα Πάντα. Η Απάντηση ήταν... σαράντα δύο.
Ο υπολογιστής λέγονταν Deep Thought και μπορούμε να φτιάξουμε κι εμείς ένα πρόγραμμα σαν το δικό του. Επειδή γνωρίζουμε ήδη την Απάντηση, θα κλέψουμε λίγο: το πρόγραμμά μας δεν θα υπολογίζει την Απάντηση, αλλά μόνο θα την ανακοινώνει στο χρήστη.
.. explanation:: Τί θα μάθουμε :class: concept :open: Με αυτό το φύλλο εργασίας θα γνωρίσουμε τα βασικά είδη εντολών που θα επιτρέπουν στα προγράμματά μας να αλληλεπιδρούν με το χρήστη, δηλαδή να του *εμφανίζουν μηνύματα στην οθόνη* και να του ζητούν να *εισάγει τιμές από το πληκτρολόγιο*. Θα εξετάσουμε επίσης πως μπορούμε να κάνουμε τα προγράμματά μας να *επιλέγουν τον τρόπο που θα συμπεριφερθούν*, εξετάζοντας τις συνθήκες που επικρατούν κατά την εκτέλεσή τους. Κυρίως όμως θα μάθουμε την Απάντηση για τη Ζωή, το Σύμπαν και τα Πάντα! *Έννοιες*: είσοδος, έξοδος, μεταβλητές, δομή επιλογής.
Πληκτρολογήστε την εντολή:
print("Καλημέρα.")
Αυτό είναι το πρώτο σας πρόγραμμα.
.. explanation:: Η χρήση της ``print`` :class: lesson Για να εμφανίσουμε ένα μήνυμα στην οθόνη χρησιμοποιούμε την ``print``, δίνοντας ανάμεσα στις παρενθέσεις το μήνυμα που θα εμφανιστεί.
Βασιστείτε στην εντολή του προηγούμενου βήματος και προσθέστε στο πρόγραμμά σας μια ακόμα εντολή, έτσι ώστε να εμφανίζεται στην οθόνη η Απάντηση.
Η Απάντηση είναι... 42
Hint
Μπορείτε να χρησιμοποιήσετε την print
, όπως και στο
προηγούμενο βήμα, για να εμφανίσει το πρόγραμμα ένα μήνυμα στην
οθόνη. Το μήνυμα θα πρέπει να περικλείεται σε εισαγωγικά.
Hint
Στο προηγούμενο βήμα χρησιμοποιήσαμε την print
ώστε το πρόγραμμα να εμφανίζει το μήνυμα Καλημέρα
ως εξής:
print("Καλημέρα.")
Τώρα πρέπει να κάνετε κάτι ανάλογο για το μήνυμα
Η Απάντηση είναι... 42
.
Hint
Για να εμφανιστεί στην οθόνη το μήνυμα Η Απάντηση είναι... 42
,
προσθέστε στο πρόγραμμα την εντολή:
print("Η Απάντηση είναι... 42")
Πριν από την print
του προηγούμενου βήματος που εμφανίζει την Απάντηση,
προσθέστε την εντολή:
answer = 42
print("Η Απάντηση είναι... 42")
Η answer
είναι μια μεταβλητή στην οποία δίνουμε την τιμή 42
. Tώρα
μπορούμε να αναφερόμαστε στην Απάντηση, χωρίς να έχει σημασία ποια είναι αυτή.
.. explanation:: Μεταβλητές Η ``answer`` είναι μια μεταβλητή. Μπορούμε να πούμε ότι δίνουμε στην τιμή ``42`` το όνομα ``answer``. Μπορούμε επίσης να πούμε ότι δίνουμε στο όνομα ``answer`` την τιμή ``42``. Και οι δύο περιγραφές είναι ορθές, είναι απλά θέμα οπτικής γωνίας. Σημασία έχει ότι οι μεταβλητές επιτρέπουν στα προγράμματά μας να διατηρούν, να “θυμούνται” τις τιμές που είναι σημαντικές. .. image:: illustrations/answer.svg .. sidebar:: Οπτικοποίηση της σχέσης μεταβλητής-τιμής Η μεταβλητή ``answer`` έχει την τιμή ``42``. Εναλλακτικά, θα λέγαμε ότι στην τιμή ``42`` έχει δοθεί το όνομα ``answer``. Όταν συσχετίζουμε μια τιμή μ’ ένα όνομα (όπως κάνουμε εδώ με το όνομα ``answer`` και την τιμή ``42``) μπορούμε ν’ αναφερθούμε σε αυτή κι αργότερα, διαφορετικά δεν έχουμε τρόπο ανάκτησής της.
.. explanation:: Εντολή ανάθεσης τιμής Η εντολή ``answer = 42`` δεν διατυπώνει κάτι που πρέπει να ισχύει για πάντα, είναι απλά μια εντολή που θα αντιστοιχίσει το όνομα ``answer`` με την τιμή ``42`` όταν έρθει η σειρά της να εκτελεστεί. Θα μπορούσαμε με μια αντίστοιχη εντολή στη συνέχεια ν’ αλλάξουμε την τιμή της μεταβλητής ``answer``, δηλαδή να συσχετίσουμε το όνομα με μια νέα τιμή (αν και αυτό δεν θα χρειαστεί για την ``answer``, γιατί η Απάντηση είναι μία).
.. explanation:: Ο χρήστης Σημειώστε ότι ο χρήστης δε γνωρίζει τίποτα για το όνομα ``answer`` ή την αντίστοιχη τιμή. Για την ακρίβεια δε γνωρίζει καν για την ύπαρξη της μεταβλητής. Ο χρήστης γνωρίζει μόνο ό,τι του εμφανίζει το πρόγραμμα με εντολές εξόδου.
Στη συνέχεια, τροποποιήστε την print του προηγούμενου βήματος ως εξής:
answer = 42
print(`"Η Απάντηση είναι..."`__, `answer`__)
.. commentary:: Λίγα λόγια για τις μεταβλητές. Δεν είναι ανάγκη να περιοριστούμε σε μια παράγραφο!
.. commentary:: :orphan: Λίγα λόγια για τις μεταβλητές.
.. commentary:: Ακόμα περισσότερα λόγια για άλλο σημείο.
Για να προσθέσουμε λίγο σασπένς, θα θέλαμε να υπάρχει μια καθυστέρηση πριν από την ανακοίνωση της Απάντησης.
Επειδή στις βασικές εντολές της Python δεν συγκαταλέγεται κάποια εντολή καθυστέρησης, θα χρησιμοποιήσουμε τη βιβλιοθήκη time, η οποία παρέχει τη λειτουργικότητα που μας χρειάζεται.
Τί είναι οι βιβλιοθήκες
Οι βιβλιοθήκες περιέχουν έτοιμο κώδικα και τις συναντάμε στις περισσότερες γλώσσες προγραμματισμού: είναι συλλογές από έτοιμα μικρά προγράμματα που μπορούμε να χρησιμοποιήσουμε στα προγράμματά μας.