Sotiris Liagas/

Εισαγωγή στην Python - Μάθημα 2 - Input (και Μεταβλητές)

Την Τετάρτη, 4 Δεκ 2019, στις 20:00 η ESA θα μεταδώσει ζωντανά στο youtube βίντεο για το Astro PI (πώς προγραμματίζεται, πώς λειτουργούν οι αισθητήρες του κ.α.). Όλα αυτά θα τα δούμε κι εμείς μαζί! Όμως, όποιος θέλει μπορεί να παρακολουθήσει το βίντεο εκείνη την ώρα κάνοντας κλικ εδώ.

astropi-2.jpg

Στο σημερινό μάθημα θα δούμε 4 νέες εντολές:
input() str() int() float()


input()

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

etos = input("τι έτος έχουμε?")
print(etos)
input()

Η λέξη etos είναι η μεταβλητή που φτιάξαμε. Το όνομά της το διαλέγουμε κάθε φορά εμείς!


str() int() float()

Στον προγραμματισμό πρέπει να λέμε ΠΑΝΤΑ στον υπολογιστή αν η πληροφορία που του δώσαμε είναι ακέραιος αριθμός, δεκαδικός αριθμός ή κείμενο.
Αν δεν το κάνουμε, ο υπολογιστής θεωρεί αυτόματα ότι η πληροφορία που του δώσαμε είναι κείμενο.
Για να πούμε στον υπολογιστή ότι μια πληροφορία που του δώσαμε είναι ακέραιος αριθμός χρησιμοποιούμε την εντολή int().

Σε παρακάτω παράδειγμα θα δώσουμε στον υπολογιστή τον αριθμό των αγοριών της τάξης, χωρίς όμως να του πούμε ότι η πληροφορία που του δίνουμε είναι αριθμός. Το πρόγραμμα δε θα λειτουργήσει γιατί ο υπολογιστής θα θεωρήσει αυτόματα ότι η πληροφορία που του δώσαμε είναι κείμενο και δε γίνεται να προσθέσει κείμενο με αριθμό.

agoria = input("πόσα αγόρια? ")
koritsia = 9
print(agoria + koritsia)
input()

Τώρα θα διορθώσουμε το πρόγραμμα και θα πούμε στον υπολογιστή να αντιμετωπίσει την πληροφορία που του δώσαμε σαν ακέραιο αριθμό και το πρόγραμμα θα τρέξει κανονικά:

agoria = input("πόσα αγόρια? ")
koritsia = 9
print(int(agoria) + koritsia)
input()

Προσέξτε το επόμενο παράδειγμα:

agoria = input("πόσα αγόρια? ")
koritsia = 9
print(int(agoria) + koritsia)
input()
print(agoria + koritsia)
input()

Το παραπάνω πρόγραμμα θα τρέξει σωστά ως την 4η γραμμή και μετά θα κολλήσει. Γιατί;

Για να αποφύγουμε το παραπάνω πρόβλημα μπορούμε να χρησιμοποιήσουμε την εντολή int() όπως στα παρακάτω παραδείγματα:

agoria = input("πόσα αγόρια? ")
agoria = int(agoria)
koritsia = 9
print(agoria + koritsia)
input()

Στο παραπάνω παράδειγμα, στη 2η γραμμή, είπαμε στον υπολογιστή ότι από εδώ και πέρα η μεταβλητή agoria θα είναι όσο ήταν πριν η μεταβλητή agoria αλλά θα αντιμετωπίζεται ως ακέραιος αριθμός.

Άλλος ένας τρόπος να κάνουμε το ίδιο, ίσως ο καλύτερος:

agoria = int(input("πόσα αγόρια? "))
koritsia = 9
print(agoria + koritsia)
input()

Εδώ, από την 1η γραμμή, είπαμε στον υπολογιστή την πληροφορία που θα δώσουμε στη μεταβλητή agoria να τη θεωρήσει αμέσως ακέραιο αριθμό.

Ό,τι είπαμε για το int() ισχύει και για το float() και το str().
Το int() είναι για ακέραιους αριθμούς.
Το float() είναι για δεκαδικούς αριθμούς.
Το str() είναι για κείμενο.


Σημείωση: Η εντολή print() μπορεί να εμφανίζει στην οθόνη ένα μήνυμα που είναι ΜΟΝΟ ΚΕΙΜΕΝΟ ή ΜΟΝΟ ΑΚΕΡΑΙΟΣ ΑΡΙΘΜΟΣ ή ΜΟΝΟ ΔΕΚΑΔΙΚΟΣ ΑΡΙΘΜΟΣ. Επίσης, μπορεί να εμφανίζει μόνο μία μεταβλητή. Για να εμφανίσουμε στο ίδιο μήνυμα πολλές μεταβλητές ή αριθμούς και κείμενο μαζί χρησιμοποιούμε το κόμμα (,) π.χ.:

onoma = "Nefeli"
ilikia = 10
print(onoma, ilikia)
input()

Δοκιμάστε τώρα τα παρακάτω παραδείγματα. Τι παρατηρείτε;

onoma = "Nefeli"
ilikia = 10
print(onoma + ilikia)
input()

ή

onoma = "Nefeli"
ilikia = 10
print(onoma ilikia)
input()

Στο επόμενο μάθημα θα δούμε πώς μπορούμε να κάνουμε τον υπολογιστή να διαλέγει ο ίδιος τι πρέπει να κάνει κάθε φορά.

No comments yet...