- Μια μεταβλητή είναι χώρος της μνήμης για αποθήκευση αριθμών, κειμένου, λίστας αριθμών και κειμένου κλπ.
- Μια μεταβλητή δημιουργείται με εντολή εκχώρησης.
- Γράφουμε το σύμβολο ίσον (=) και ακολούθως την τιμή που θέλουμε να εκχωρήσουμε.
- Για να δούμε την τιμή της μεταβλητής, την εμφανίζουμε στην οθόνη με την εντολή print().
ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΑΒΛΗΤΩΝ
- Η τιμή μιας μεταβλητής μπορεί να αλλάξει κάθε στιγμή του προγράμματος.
ΟΝΟΜΑΣΙΑ ΜΕΤΑΒΛΗΤΩΝ
- Τα ονόματα των μεταβλητών περιέχουν γράμματα, αριθμούς και το χαρακτήρα underscore (_).
- Τα ονόματα δεν μπορούν να ξεκινάνε με αριθμό.
- Μπορούμε να χρησιμοποιούμε από απλά γράμματα μέχρι μεγάλες προτάσεις ως ονόματα μεταβλητών.
- Σωστά Ονόματα: a, side, side_length
- Λάθος Ονόματα: a 10, 2side, side-length
ΣΥΜΒΟΥΛΕΣ ΟΝΟΜΑΣΙΑΣ ΜΕΤΑΒΛΗΤΩΝ
- Επιλογή περιγραφικών ονομάτων:
- το όνομα μιας μεταβλητής πρέπει να είναι σχετικό του περιεχομένου της και όχι άσχετο με αυτό.
- Συνέπεια:
- όταν έχουμε μεταβλητές πολλών λέξεων, ακολουθούνται 2 γνωστές τεχνικές. Η μία χρησιμοποιεί underscores και η άλλη κεφαλαία γράμματα π.χ. my_name και myName.
- Παράδοση της κάθε γλώσσας:
- στις περισσότερες γλώσσες οι μεταβλητές συνήθως αρχίζουν με πεζό γράμμα. Επίσης, αποφεύγουμε να ξεκινάμε με underscore.
- Μικρό μήκος λέξης:
- μεγάλα ονόματα μεταβλητών μπορούν να προκαλέσουν προβλήματα κάνοντας των κώδικα λιγότερο αναγνώσιμο. Συνιστάται το μήκος των μεταβλητών να μην υπερβαίνει τους 15 χαρακτήρες.
ΠΑΡΑΔΕΙΓΜΑ ΜΕ ΜΕΤΑΒΛΗΤΕΣ
Οι μεταβλήτες που χρησιμοποιούνται:
books, book_cost, pencils, pencil_cost, total_cost, my_money, change
ΧΡΗΣΗ ΑΡΙΘΜΩΝ
- Οι πιο κοινοί τύποι αριθμών είναι οι ακέραιοι και οι πραγματικοί (αριθμοί κινητής υποδιαστολής).
- ΑΚΕΡΑΙΟΙ (Integers) είναι αριθμοί που δεν έχουν κλασματικό μέρος και άρα γράφονται χωρίς χρήση υποδιαστολής π.χ. 3, 25, -50, 0.
- ΠΡΑΓΜΑΤΙΚΟΙ (Floats) είναι αριθμοί που περιέχουν υποδιαστολή για να διακρίνουν το ακέραιο από το κλασματικό μέρος π.χ. -2.475, 3.12, 0.65 κλπ.
ΥΠΟΛΟΓΙΣΜΟΙ
- Με τη βοήθεια του Python Shell μπορούμε να εκτελούμε υπολογισμούς:
- >>> 2 + 5
- >>> 12 - 7
- >>> 3 * 80
- >>> 20 / 4
ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ
- Τα σύμβολα που χρησιμοποιούμε για να φτιάχνουμε αριθμητικές εκφράσεις ονομάζονται τελεστές (operators).
- Οι πιο χρήσιμοι μαθηματικοί τελεστές είναι:
- + Πρόσθεση π.χ. 5 + 3 Αποτέλεσμα: 8
- - Αφαίρεση π.χ. 5 - 3 Αποτέλεσμα: 2
- * Πολλαπλασιασμός π.χ. 5 * 3 Αποτέλεσμα: 15
- / Διαίρεση π.χ. 5/3 Απ.: 1.6666666666666667
- // Ακέραιο Πηλίκο π.χ. 5 // 3 Αποτέλεσμα: 1
- % Ακέραιο Υπόλοιπο π.χ. 5 % 3 Αποτέλεσμα: 2
ΙΕΡΑΡΧΙΑ ΠΡΑΞΕΩΝ
- Για να ελέγξουμε την προτεραιότητα των πράξεων, χρησιμοποιούμε παρενθέσεις που πρακτικά εκτελούνται πρώτες.
- Πολλαπλασιασμοί και διαιρέσεις έχουν μεγαλύτερη προτεραιότητα από τις προσθέσεις και τις αφαιρέσεις.
ΕΜΦΩΛΕΥΜΕΝΕΣ ΠΑΡΕΝΘΕΣΕΙΣ
- Σε περίπτωση που η παρενθέσεις είναι εμφωλευμένες (nested) δηλαδή η μία μέσα στην άλλη, τότε οι εσωτερικές έχουν προτεραιότητα.
ΚΑΝΟΝΑΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ
- Οι πολλαπλασιασμοί και οι διαιρέσεις εκτελούνται πάντα πριν τις προσθέσεις και αφαιρέσεις, εκτός αν οι παρενθέσεις αλλάζουν τη σειρά των πράξεων.
ΕΠΑΥΞΗΜΕΝΟΙ ΤΕΛΕΣΤΕΣ
- Οι Επαυξημένοι τελεστές είναι τελεστές που παρέχουν ένα πιο σύντομο τρόπο υπολογισμού, όταν δεν θέλουμε η ίδια μεταβλητή να εμφανίζεται και στα δύο άκρα του συμβόλου ίσον (=).
- += π.χ. χ += 5 είναι το ίδιο με: χ = χ + 5
- -= π.χ. χ -= 5 είναι το ίδιο με: χ = χ - 5
- *= π.χ. χ *= 5 είναι το ίδιο με: χ = χ * 5
- /= π.χ. χ /= 5 είναι το ίδιο με: χ = χ / 5
- //= π.χ. χ //= 5 είναι το ίδιο με: χ = χ // 5
- %= π.χ. χ%=5 είναι το ίδιο με: χ = χ % 5
ΤΥΠΟΙ ΛΑΘΩΝ
- Κατά τον προγραμματισμό μπορούν να συμβούν δύο κατηγορίες λαθών:
- Τα συντακτικά λάθη (syntax errors) οφείλονται σε παραβίαση των γραμματικών κανόνων της γλώσσας π.χ. παραβίαση συντακτικού ή ορθογραφικά λάθη.
- Τα λογικά λάθη (logical errors) οφείλονται στην υλοποίηση ενός εσφαλμένου αλγορίθμου.
ΣΥΝΤΑΚΤΙΚΑ ΛΑΘΗ
- Τα λάθη αυτά ανιχνεύονται από το διερμηνευτή κατά την εκτέλεση και χρειάζονται διόρθωση από τον προγραμματιστή για να προχωρήσει το πρόγραμμα.
ΛΟΓΙΚΑ ΛΑΘΗ
- Είναι πιο πολύπλοκα λάθη γιατί δεν ανιχνεύονται από κανένα interpreter κατά τη μετάφραση αλλά μόνο από τον προγραμματιστή στη φάση της εκτέλεσης.
- Είναι λάθη δυσκολότερα στη διόρθωση γιατί όταν προκύψουν, το σύστημα δεν επιστρέφει σχετικό μήνυμα που να καταδεικνύει το λάθος.
- Άρα, για να τα εντοπίσουμε, πρέπει να μελετάμε αναλυτικά τον κώδικα κατά την εκτέλεση.
ΠΟΙΟ ΕΙΝΑΙ ΤΟ ΛΟΓΙΚΟ ΛΑΘΟΣ ΣΤΟΝ ΠΑΡΑΚΑΤΩ ΚΩΔΙΚΑ;
Εκτέλεση Προγράμματος
- Ο μεγάλος αριθμός στο Grand Total δεν είναι το άθροισμα των αριθμών που έδωσε ο χρήστης αλλά η συνένωση των αριθμών.
- Το σύμβολο + εφαρμόζεται σε strings αλλά και σε αριθμούς. Η χρήση ενός τελεστή με δύο διαφορετικούς τρόπους είναι γνωστή ως υπερφόρτωση (operator overloading)
ΜΕΤΑΤΡΟΠΗ ΤΙΜΩΝ
- Για τη διόρθωση του προηγούμενου προβλήματος, πρέπει να μετατρέψουμε τα strings που επιστρέφει η συνάρτηση input() στους αντίστοιχους αριθμούς.
- Για τη μετατροπή ενός string σε αριθμό, χρησιμοποιούμε τη συνάρτηση int() που δέχεται ένα string σαν όρισμα και επιστρέφει τον αντίστοιχο αριθμό.
ΣΥΝΑΡΤΗΣΕΙΣ ΜΕΤΑΤΡΟΠΗΣ
- Η συνάρτηση int() δεν είναι η μοναδική συνάρτηση μετατροπής τιμών. Υπάρχει επίσης η συνάρτηση float() και η συνάρτηση str().
- float(x) Επιστρέφει πραγματικό αριθμό μετατρέποντας το χ π.χ. float("10.0") επιστρέφει 10.0
- int(x) Επιστρέφει ακέραιο μετατρέποντας το χ π.χ. int("10") επιστρέφει 10
- str(x) Επιστρέφει string μετατρέποντας το χ π.χ. str(10) επιστρέφει "10"
ΕΜΦΩΛΕΥΣΗ ΣΥΝΑΡΤΗΣΕΩΝ
- Εμφώλευση συναρτήσεων έχουμε όταν τοποθετούμε την κλήση μιας συνάρτησης μέσα σε κάποια άλλη.
- Αυτή είναι μια καλή τεχνική όταν η τιμές που επιστρέφει η εσωτερική συνάρτηση, χρησιμοποιούνται ως ορίσματα στην εξωτερική.
- Συνήθως οι συναρτήσεις που εμφωλεύονται είναι αυτές που κάνουν μετατροπές τιμών: int(), float() και str().
num = int(input(“Give an integer number”))
ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ
- Για να παράγουμε τυχαίους αριθμούς, η Python πρέπει να εισάγει το άρθρωμα random (random module).
- To άρθρωμα random περιέχει συναρτήσεις αναγκαίες για την παραγωγή τυχαίων αριθμών.
- Για να φορτώσουμε το άρθρωμα random στο πρόγραμμά μας γράφουμε την εντολή import random.
- Οι πιο συνήθεις συναρτήσεις του αρθρώματος random είναι η randint() και η randrange().
Τα αρθρώματα (modules) είναι αρχεία που περιέχουν κώδικα χρήσιμο για κάποια προγράμματα. Η κλήση μιας συνάρτησης από ένα άρθρωμα γίνεται με το όνομα του αρθρώματος, μία τελεία και το όνομα της συνάρτησης.
randint( )
- Η συνάρτηση randint() παράγει τυχαίους αριθμούς μεταξύ δύο αριθμών που λειτουργούν ως όρια.
- Χρησιμοποιεί δύο ακέραια ορίσματα ως όρια και επιστρέφει μια τυχαία τιμή ανάμεσα σε αυτά.
- Το πρόγραμμα καλεί τη συνάρτηση μέσω του random module με την εντολή random.randint().
- Για παράδειγμα, η κλήση random.randint(1,6) παράγει ένα τυχαίο αριθμό μεταξύ 1 και 6.
randrange( )
- Η συνάρτηση randrange() παράγει ένα τυχαίο αριθμό, αλλά χρησιμοποιεί μόνο μία τιμή ως όρισμα.
- Επιστρέφει ένα τυχαίο αριθμό από το 0 μέχρι και ένα λιγότερο από τον αριθμό που δόθηκε ως όρισμα.
- Για παράδειγμα, η κλήση random.randrange(6) επιστρέφει έναν τυχαίο αριθμό μεταξύ του 0 και του 5.
Μακρής Ηλίας Π.Ε. Πληροφορικής