Πρώτα βήματα
Δεδομένα
Αποφάσεις
Επανάληψη
Συναρτήσεις και σφάλματα
Python και ΓΛΩΣΣΑ cheatsheet: τα βασικά
Σε αυτή τη σελίδα βρίσκεται ολόκληρη η εισαγωγή σε μορφή σκονακιού: μεταβλητές, τύποι δεδομένων, πράξεις,
if, while, for, λίστες, συναρτήσεις και τα λάθη που θα δεις τις πρώτες μέρες. Είναι για μαθητές Γυμνασίου, Λυκείου και ΕΠΑΛ που έχουν Python ή ψευδοκώδικα στην Πληροφορική, και για όποιον ξεκινάει τον προγραμματισμό από το μηδέν.Άνοιξέ την πριν από ένα διαγώνισμα ή όταν γράφεις δικό σου πρόγραμμα και δε θυμάσαι πώς γράφεται κάτι. Οι περισσότερες ενότητες έχουν ένα διάγραμμα με τα βασικά και ένα κουμπί για το μάθημα με την πλήρη εξήγηση, όπου τα παραδείγματα τρέχουν στον browser. Ένας πίνακας δείχνει τα ίδια σε ΓΛΩΣΣΑ, όπως τα γράφει το σχολικό βιβλίο.
Ο χάρτης της εισαγωγής
Σχεδόν κάθε πρόγραμμα φτιάχνεται από τρία είδη βημάτων: εντολές στη σειρά, αποφάσεις και επαναλήψεις. Στο σχολικό βιβλίο θα τα βρεις ως δομή ακολουθίας, δομή επιλογής και δομή επανάληψης. Πριν από αυτά χρειάζεσαι τιμές για να δουλέψεις, δηλαδή μεταβλητές και τύπους δεδομένων. Οι συναρτήσεις έρχονται τελευταίες, γιατί στο σώμα τους γράφεις ό,τι έχεις ήδη μάθει. Το παιχνίδι μαντεψιάς του τελευταίου κεφαλαίου χρησιμοποιεί λίστα,
for, if, break και συνάρτηση.Κάθε κεφάλαιο στηρίζεται στο προηγούμενο. Δίπλα σε κάθε ένα, το όνομα που έχει στο σχολικό βιβλίο.
Από την Python στη ΓΛΩΣΣΑ του σχολείου
Στη Γ' Λυκείου γράφεις τους αλγορίθμους σε ψευδοκώδικα ΓΛΩΣΣΑ, ενώ στο Γυμνάσιο και στο ΕΠΑΛ συναντάς κυρίως Python. Οι ιδέες είναι ίδιες και στις δύο. Ο πίνακας βάζει κάθε εντολή της εισαγωγής δίπλα στη γραφή του σχολικού βιβλίου, μαζί με τη διαφορά που πρέπει να προσέξεις.
| Python | ΓΛΩΣΣΑ | Τι αλλάζει | Μάθημα |
|---|---|---|---|
age = 15, found = True | ΜΕΤΑΒΛΗΤΕΣ με ΑΚΕΡΑΙΕΣ: ΗΛΙΚΙΑ και ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ, τιμές ΑΛΗΘΗΣ, ΨΕΥΔΗΣ | Δηλώνεις τη μεταβλητή και τον τύπο της πριν από το ΑΡΧΗ | Αριθμοί, κείμενο, αληθές και ψευδές |
balance = 5 | ΥΠΟΛΟΙΠΟ ← 5 | Την εκχώρηση τη γράφεις με βέλος | Μεταβλητές: ένα όνομα για κάθε τιμή |
==, !=, and, or, not | =, <>, ΚΑΙ, Η, ΟΧΙ | Στη ΓΛΩΣΣΑ το = ρωτάει, δεν αλλάζει τιμή | Συνδυασμός συνθηκών |
//, % | DIV, MOD | Στη ΓΛΩΣΣΑ μόνο με ακέραιους | Πράξεις και συγκρίσεις |
if, elif, else | ΑΝ ... ΤΟΤΕ, ΑΛΛΙΩΣ_ΑΝ, ΑΛΛΙΩΣ, ΤΕΛΟΣ_ΑΝ | Κλείνει με ΤΕΛΟΣ_ΑΝ, όχι με την εσοχή | Συνθήκες με if |
while savings < 70: | ΟΣΟ ΑΠΟΤΑΜΙΕΥΣΗ < 70 ΕΠΑΝΑΛΑΒΕ | Κλείνει με ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ | Επανάληψη με while |
for i in range(1, 6):, grades[0] | ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5, ΒΑΘΜΟΙ[1] | Το ΜΕΧΡΙ 5 περιλαμβάνει το 5. Στο range(1, 6) το 6 είναι το όριο και μένει έξω. Η λίστα μετράει από το 0, ο πίνακας από το 1 | Λίστες και for |
def με return | ΣΥΝΑΡΤΗΣΗ ... ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ | Χωρίς return: εκχωρείς το αποτέλεσμα στο όνομά της | Συναρτήσεις: ένα όνομα για κάθε υπολογισμό |
Στη ΓΛΩΣΣΑ δηλώνεις κάθε μεταβλητή πριν από το
ΑΡΧΗ, με τον τύπο της. Το print("Γεια") γίνεται ΓΡΑΨΕ 'Γεια', χωρίς παρενθέσεις και με μονά εισαγωγικά '...'. Οι περισσότερες παγίδες όμως βρίσκονται στο ίσον και στην αρίθμηση. Στην Python το = αλλάζει μια τιμή και το == ρωτάει αν δύο τιμές είναι ίσες. Στη ΓΛΩΣΣΑ την τιμή την αλλάζει το βέλος και το = ρωτάει. Ένα loop που στο τετράδιο πηγαίνει από 1 έως 5 γίνεται στην Python range(1, 6) και, για τις θέσεις μιας λίστας με πέντε στοιχεία, range(5).Μεταβλητές και τύποι δεδομένων
Μια μεταβλητή είναι ένα όνομα για μια τιμή. Το
= είναι εντολή: η Python υπολογίζει πρώτα το δεξί μέρος και βάζει το αποτέλεσμα στο όνομα αριστερά, γι' αυτό το balance = balance + 5 έχει νόημα. Κάθε τιμή έχει τύπο, int, float, str ή bool, και ο τύπος αποφασίζει τι κάνει μια πράξη: το "2" + "3" δίνει 23. Ό,τι διαβάζεις από μια φόρμα ή ένα αρχείο είναι συνήθως κείμενο, οπότε το περνάς από την int() ή τη float() πριν κάνεις πράξεις.Τον τύπο τον δείχνει η γραφή: τελεία, εισαγωγικά ή True και False.
Πράξεις, συγκρίσεις και λογικοί τελεστές
Οι αριθμητικοί τελεστές δίνουν αριθμό, ενώ οι συγκριτικοί και οι λογικοί, με bool, δίνουν
True ή False. Το / δίνει πάντα δεκαδικό, ακόμα και στο 10 / 2. Το // και το % δίνουν πηλίκο και υπόλοιπο, όπως το DIV και το MOD του σχολείου. Η ισότητα θέλει δύο ίσον, ==, και με ένα μόνο αλλάζεις την τιμή αντί να τη ρωτήσεις. Το and θέλει να ισχύουν και οι δύο συνθήκες, στο or αρκεί η μία.Κάθε σύγκριση είναι μια ερώτηση με απάντηση True ή False.
Αποφάσεις με if, elif και else
Το
if τρέχει ένα κομμάτι κώδικα μόνο όταν η συνθήκη του δίνει True. Με elif προσθέτεις περιπτώσεις και το else τρέχει όταν δεν ισχύει καμία. Η Python κάνει τις ερωτήσεις από πάνω προς τα κάτω και σταματάει στην πρώτη που ισχύει, γι' αυτό η σειρά τους αλλάζει το αποτέλεσμα. Ποιες γραμμές ανήκουν σε κάθε κομμάτι το δείχνει η εσοχή των τεσσάρων κενών, και η γραμμή του if τελειώνει πάντα με :.Με age = 15 η πρώτη συνθήκη δίνει False και η δεύτερη True.
Επανάληψη με while
Το
while μοιάζει με το if, μόνο που μετά το σώμα γυρίζει πίσω και ρωτάει ξανά. Το χρησιμοποιείς όταν δεν ξέρεις από πριν πόσες φορές θα τρέξει, όπως στον κουμπαρά που γεμίζει με 15 ευρώ την εβδομάδα. Η Python ελέγχει τη συνθήκη μόνο πριν από κάθε πέρασμα, οπότε ένα πέρασμα που ξεκίνησε τελειώνει ολόκληρο. Αν καμία γραμμή του σώματος δε φέρνει τη συνθήκη πιο κοντά στο False, το loop δε σταματάει ποτέ.Πέντε έλεγχοι δίνουν True και ο έκτος False: πέντε εβδομάδες, 75 ευρώ.
Λίστες και for
Μια λίστα κρατάει πολλές τιμές με ένα όνομα και οι θέσεις της ξεκινούν από το 0. Το
for grade in grades περνάει από κάθε στοιχείο με τη σειρά και σταματάει μόνο του, χωρίς συνθήκη και χωρίς μετρητή. Όταν χρειάζεσαι αριθμούς, το range(a, b) δίνει από το a έως το b - 1. Η θέση που δεν υπάρχει και το όριο που μένει έξω φέρνουν το off-by-one, ένα από τα πιο συνηθισμένα λάθη με loops.Οι θέσεις πάνε από 0 έως len(grades) - 1. Η θέση 5 δεν υπάρχει.
Συναρτήσεις με def και return
Μια συνάρτηση δίνει όνομα σε έναν υπολογισμό, ώστε να τον γράφεις μία φορά και να τον καλείς όσες φορές θέλεις. Τη φτιάχνεις με
def, τα ορίσματα της κλήσης μπαίνουν στις παραμέτρους με τη σειρά και το return στέλνει την τιμή πίσω στη γραμμή της κλήσης. Το print απλώς τη δείχνει στην οθόνη. Μια συνάρτηση χωρίς return επιστρέφει None.Με return η τιμή μπαίνει σε μεταβλητή. Με print μένει μόνο στην οθόνη.
Τα λάθη που θα δεις πρώτα
Θα συναντήσεις τρία είδη λαθών. Το συντακτικό λάθος δεν αφήνει το πρόγραμμα να ξεκινήσει, το σφάλμα κατά την εκτέλεση το σταματάει σε μια γραμμή και το λογικό λάθος το αφήνει να τρέξει ως το τέλος με λάθος αποτέλεσμα. Στο traceback διάβασε πρώτα την τελευταία γραμμή, που λέει τι έγινε. Οι γραμμές από πάνω λένε πού.
| Τι έγραψες | Τι βλέπεις | Διόρθωση | Μάθημα |
|---|---|---|---|
if grade >= 10 χωρίς : | SyntaxError, δεν τρέχει καμία γραμμή | Βάλε : στο τέλος | Συνθήκες με if |
print(«Γεια») | SyntaxError: invalid character | Απλά " από το πληκτρολόγιο | Το πρώτο σου πρόγραμμα σε Python |
float("87,5") | ValueError | text.replace(",", ".") πριν από το float | Κείμενο που μοιάζει με αριθμό |
"30" + 1 | TypeError | int("30") + 1 | Κείμενο που μοιάζει με αριθμό |
grades[5] σε λίστα με 5 στοιχεία | IndexError | Η τελευταία θέση είναι len(grades) - 1 | Λίστες και for |
| Μέσος όρος άδειας λίστας | ZeroDivisionError | Έλεγξε πρώτα αν len(grades) == 0 | Σφάλματα και ένα μικρό παιχνίδι |
a + b + c / 3 για μέσο όρο | Κανένα μήνυμα, λάθος αποτέλεσμα | (a + b + c) / 3 | Σφάλματα και ένα μικρό παιχνίδι |
day == "Σάββατο" or "Κυριακή" | Κανένα μήνυμα, ισχύει για κάθε μέρα | day == "Σάββατο" or day == "Κυριακή" | Συνδυασμός συνθηκών |
Στις δύο τελευταίες γραμμές η Python δε βγάζει κανένα μήνυμα, γιατί ο κώδικας είναι σωστά γραμμένος και κάνει ακριβώς αυτό που του ζήτησες. Ένα λογικό λάθος το βρίσκεις μόνο αν ξέρεις περίπου τι αποτέλεσμα περιμένεις: τυπώνεις τις ενδιάμεσες τιμές και αλλάζεις ένα πράγμα τη φορά. Με τον ίδιο τρόπο ελέγχεις και κώδικα που σου έγραψε ένα εργαλείο AI, γιατί κι αυτός ο κώδικας μπορεί να τρέχει χωρίς μήνυμα και να δίνει λάθος αποτέλεσμα.
Σύνοψη
- Κρατάς τιμές σε μεταβλητές, κάνεις πράξεις με αυτές και μετατρέπεις σε αριθμό το κείμενο που έρχεται από μια φόρμα.
- Γράφεις αποφάσεις με
if,elifκαιelseκαι ενώνεις συνθήκες μεand,orκαιnot, προσέχοντας τη σειρά των ερωτήσεων. - Για επανάληψη διαλέγεις
whileόταν σταματάς επειδή κάτι άλλαξε καιforόταν περνάς μια λίστα ή ξέρεις πόσες φορές θα τρέξει το σώμα. - Κλείνεις έναν υπολογισμό σε συνάρτηση που επιστρέφει την τιμή με
returnκαι διαβάζεις ένα traceback από την τελευταία γραμμή προς τα πάνω. - Τα ίδια τα γράφεις και σε ψευδοκώδικα ΓΛΩΣΣΑ, με
←,ΑΝ,ΟΣΟ,ΓΙΑκαιΣΥΝΑΡΤΗΣΗ, αρκεί να προσέχεις το ίσον και την αρίθμηση από το 1.
Θες να συνεχίσεις;
Το course είναι δωρεάν. Κάνε σύνδεση για να κρατάς την πρόοδο και τις σημειώσεις σου.