ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2.1. Εντολές Σχόλια Τύποι Δεδομένων


Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

επιµέλεια Θοδωρής Πιερράτος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

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

Βασικές έννοιες προγραμματισμού

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Θέματα Προγραμματισμού Η/Υ

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Πρόβλημα 29 / σελίδα 28

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Εισαγωγή στην Αριθμητική Ανάλυση

Πληρουορική Γ Γσμμασίοσ

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

4. Επιλογή και Επανάληψη

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Γνωρίστε το Excel 2007

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Εισαγωγή στον Προγραμματισμό

ΗΥ-150. Προγραμματισμός

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Υπολογισμός - Εντολές Επανάληψης

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Γλώσσα προγραμματισμού python

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

Εισαγωγή στον Προγ/μό Υπολογιστών

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΗΥ-150. Προγραμματισμός

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Δομημένος Προγραμματισμός (ΤΛ1006)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Ανάπτυξη και Σχεδίαση Λογισμικού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Ι (ΗΥ120)

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Συναρτήσεις στη Visual Basic 6.0

Θέματα Προγραμματισμού Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Γλώσσα Προγραμματισμού C

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Διαδικασιακός Προγραμματισμός

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Δομημένος Προγραμματισμός

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Ασκήσεις Προγραμματισμού για το Μάθημα : Εφαρμογές Πληροφορικής. Π=3.14 Μεταβλητές Πραγματικές: X,A,B,Y Αρχή

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5. Λεξικά (Dictionaries)

Η γλώσσα προγραμματισμού Strange

Διαδικαστικός Προγραμματισμός

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής Καθηγητής

PYTHON http://www.python.org

To περιβάλλον της Python a) Άμεση εκτέλεση στο περιβάλλον της Python Γράφουμε τις εντολές της Python b) Δημιουργία ενός αρχείου (π.χ. 01.py) με τις εντολές της Python και εκτέλεση του, από τη γραμμή εντολών

To περιβάλλον της Python (συν) γ) Περιβάλλον IDLE Αν δεν υπάρχει ήδη, τότε δημιουργούμε ένα αρχείο με κατάληξη.bat (π.χ. python_idle.bat) και περιεχόμενο τα παρακάτω : c:\python\pythonw.exe c:\python\lib\idlelib\idle.py και εκτελούμε το αρχείο. Το περιβάλλον του IDLE μας επιτρέπει να έχουμε και τις δύο προηγούμενες επιλογές, άμεση εκτέλεση και φόρτωμα ενός αρχείου, σε ένα ενιαίο περιβάλλον.

Δημιουργία νέου αρχείου

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

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

PYTHON ΜΕΤΑΒΛΗΤΕΣ Μεταβλητές είναι αναφορές σε θέσεις στη μνήμη του υπολογιστή που χρησιμοποιούνται για την αποθήκευση των δεδομένων/αποτελεσμάτων ενός προγράμματος. Τα δεδομένα (τιμή της μεταβλητής) μπορεί να αλλάζουν κατά την διάρκεια της εκτέλεσης της εφαρμογής. Οι μεταβλητές έχουν όνομα (αναγνωριστικό) το οποίο αποτελείται από ένα συνδυασμό κεφαλαίων και μικρών γραμμάτων, αριθμών και κάτω παύλα. Τα ονόματα των μεταβλητών δεν πρέπει να αρχίζουν από αριθμό και έχει σημασία ο τρόπος γραφής τους. Επιπλέον δεν πρέπει να είναι δεσμευμένη λέξη της Python.

Παραδείγματα με μεταβλητές Σε ένα πρόγραμμα μπορούμε να δημιουργήσουμε πολλές και διαφορετικού τύπου μεταβλητές. Η x είναι ακέραιος αριθμός, η gravity είναι δεκαδικός αριθμός, η message είναι αλφαριθμητικό. Η εσωτερική αναπαράσταση της κάθε μεταβλητής καθορίζεται από την εκάστοτε τιμή που περιέχει τη συγκεκριμένη στιγμή. Η εντολή type δείχνει το τύπο δεδομένων της μεταβλητής, για τη συγκεκριμένη τιμή που περιέχει. H ίδια η μεταβλητή παίρνει διαφορετικές τιμές

Ανάθεση τιμών σε μεταβλητές Ανάθεση τριών διαφορετικών τιμών σε τρεις μεταβλητές. Ανάθεση της ίδιας τιμής σε τρεις μεταβλητές.

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

Είσοδος από το πληκτρολόγιο Για την εισαγωγή μιας τιμής από το πληκτρολόγιο θα πρέπει να χρησιμοποιήσουμε τη συνάρτηση input η σύνταξη της οποίας είναι input() και επιστρέφει το αλφαριθμητικό το οποίο πληκτρολογήσαμε, για παράδειγμα Πληκτρολογούμε Προαιρετικά, μπορούμε μέσα στην input να γράψουμε ένα αλφαριθμητικό το οποίο θα εμφανιστεί σαν προτροπή προς το χρήστη. Για παράδειγμα αν θέλουμε να ζητήσουμε από το χρήστη να πληκτρολογήσει το όνομά του θα μπορούσαμε να γράψουμε το παρακάτω πρόγραμμα

Είσοδος από το πληκτρολόγιο (συν) Για την πρόσθεση δύο ακεραίων αριθμών θα μπορούσε να γράψουμε το παρακάτω πρόγραμμα H input πάντα επιστρέφει αλφαριθμητικό οπότε στο παράδειγμά μας δεν γίνεται άθροισμα αλλά συνένωση δύο αλφαριθμητικών. Για να κάνουμε την πρόσθεση των αριθμών θα πρέπει να μετατρέψουμε το αλφαριθμητικό σε αριθμό και αυτό μπορεί να γίνει με τις συναρτήσεις int και float για την αλλαγή του τύπου δεδομένων

Έξοδος στην οθόνη Για την έξοδο στην οθόνη έχουμε χρησιμοποιήσει τη συνάρτηση print η σύνταξη της οποίας, είναι print(τιμές προς εκτύπωση, sep=' ', end='\n', file=sys.stdout, flush=false) Οι Τιμές προς εκτύπωση θα πρέπει να χωρίζονται από κόμμα. Το sep ορίζει αυτό που θα παρεμβάλλεται ανάμεσα στις τιμές Το end ορίζει αυτό που θα είναι τερματικός χαρκτήρας To file ορίζει το αρχείο εξόδου. To sys.stdout είναι το πληκτρολόγιο ενώ εκεί θα μπορούσε να είναι ένα οποιοδήποτε άλλο αρχείο στον υπολογιστή μας (θα το δούμε αργότερα) Το flush ορίζει αν θα γίνεται άμεσα η εγγραφή στο αρχείο ή όχι. Έστω ότι θέλουμε να εκτυπώσουμε το μήνυμα "The values are : " καθώς και τις τιμές 3 και 4 σε μία γραμμή χρησιμοποιώντας δύο κλήσεις της συνάρτησης print. Επίσης θέλω να ανάμεσα στους αριθμούς να εκτυπώσουμε το αλφαριθμητικό,. Αυτό θα μπορούσε να γίνει με το παρακάτω πρόγραμμα

Escape characters Κατά την εκτύπωση ενός αλφαριθμητικού μπορούμε μέσα στο σώμα να παρεμβάλλουμε ειδικούς χαρακτήρες οι οποίοι έχουν ιδιαίτερη σημασία κατά εκτύπωση. Μερικοί από αυτούς τους χαρακτήρες εμφανίζονται στο παρακάτω πίνακα : Escape Character \' Σημασία Εκτύπωση μονού εισαγωγικού ' \" Εκτύπωση διπλού εισαγωγικού " \\ Εκτύπωση διπλού εισαγωγικού \ \t Εκτύπωση κενού διαστήματος οκτώ χαρακτήρων \n Νέα γραμμή

Αριθμητικοί Τελεστές Τελεστής Πράξη Παράδειγμα + Πρόσθεση print(3 + 2) - Αφαίρεση print(8-5) * Γινόμενο print(2 * 6) / Διαίρεση print(3 / 2) ** Ύψωση σε δύναμη print(2 ** 4) % Υπόλοιπο διαίρεσης print(10 % 8) Στις αριθμητικές πράξεις μπορούμε να χρησιμοποιούμε τις παρενθέσεις για να δηλώνουμε ακριβώς τη προτεραιότητα εκτέλεσης των πράξεων

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

Άσκηση Διαβάστε τις τιμές από το πληκτρολόγιο τον x y και z υπολογίστε την παρακάτω έκφραση : Επίλυση Η συνάρτηση fabs επιστρέφει την απόλυτη τιμή ενός αριθμού.

Τελεστές Σύγκρισης Τελεστής Πράξη Παράδειγμα == Ισότητα print(3 == 3)!= Ανισότητα print(5!= 3) < Μικρότερο print(2 < 6) <= Μικρότερο ή Ίσο print(4 < 7) > Μεγαλύτερο print(2 > 4) >= Μεγαλύτερο ή Ίσο print(7 >= 2) Οι λογικοί τελεστές συγκρίνουν το αριστερό με το δεξί μέρος της συνθήκης και έχουν σαν αποτέλεσμα μία λογική τιμή, Αληθής (True) ή Ψευδής (False)

Λογικές Πράξεις Δύο ή περισσότερες λογικές τιμές (οι οποίες συνήθως προκύπτουν από σύγκριση με λογικούς τελεστές) μπορούν να ενώνονται μεταξύ τους με λογικές πράξεις, και το αποτέλεσμα είναι μια λογική τιμή. Τελεστής Πράξη Η συνολική έκφραση είναι Παράδειγμα and Λογικό ΚΑΙ Αληθής μόνο όταν και οι δυο επιμέρους τιμές, δεξιά και αριστερά της πράξης είναι αληθής. or Λογικό Η Αληθής όταν τουλάχιστον μία από τις δυο επιμέρους σχέσεις, δεξιά ή αριστερά της πράξης είναι αληθής. not Λογική Άρνηση Αντιστρέφει τη λογική τιμή, αν είναι True (3 < 6) τη κάνει False. print( (4 >2) and (3 <= 9)) print( (4 > 2) or (45 <= 9)) print( not( 3 < 6))

Έλεγχος ροής του προγράμματος Η δομή if μας επιτρέπει να εκτελέσουμε μια ή περισσότερες εντολές ανάλογα με τη λογική τιμή (ΛΤ), η οποία συνήθως είναι αποτέλεσμα μιας απλής η σύνθετης συνθήκης. Η δομή if, συντάσσεται με τρεις διαφορετικούς τρόπους Περίπτωση Α Περίπτωση Β Περίπτωση Γ if ΛΤ : Εντολές που θα εκτελεστούν αν η ΛΤ είναι true if ΛΤ : Εντολές που θα εκτελεστούν αν η ΛΤ είναι true else: Εντολές που θα εκτελεστούν αν η ΛΤ είναι false if ΛΤ1 : Εντολές που θα εκτελεστούν αν η ΛΤ1 είναι true elif ΛΤ2 : Εντολές που θα εκτελεστούν αν η ΛΤ2 είναι true else: Εντολές που θα εκτελεστούν αν δεν αληθεύει καμία από τις ανωτέρω λογικές τιμές. Το else είναι προαιρετικό Για να δηλώσουμε ότι οι εντολές ανήκουν στο αμέσως προηγούμενο μπλόκ του if αφήνουμε τον ίδιο αριθμό κενών διαστημάτων (συνήθως 4, η Google προτείνει 2 κενά διαστήματα) στην έναρξη των εντολών. Για την αποφυγή σφαλμάτων θα πρέπει να αποφεύγουμε την μείξη κενών διαστημάτων και TAB.

Παράδειγμα της δομής if

Άσκηση Δημιουργήστε μία εφαρμογή για μία εταιρεία κινητής τηλεφωνίας, στην οποία θα πληκτρολογούμε τα λεπτά ομιλίας και θα μας εμφανίζει, σύμφωνα με τον παρακάτω πίνακα, το μηνιαίο ποσό του λογαριασμού που πρέπει να πληρώσει ένας πελάτης. Λεπτά ομιλίας Μηνιαίο κόστος 0 Πάγιο 10 Έως 60 λεπτά Έως 90 λεπτά Έως 120 λεπτά Για μεγαλύτερα ποσά Επιπλέον 5 στο πάγιο Επιπλέον 10 στο πάγιο Επιπλέον 15 στο πάγιο Επιπλέον 15 στο πάγιο και 5% της διαφοράς των λεπτών που έχει καταναλώσει πέραν των 120 λεπτών ομιλίας.

Επίλυση της άσκησης

Άσκηση Διαβάστε τρεις ακέραιους αριθμούς από το πληκτρολόγιο, και να εμφανίσετε τον αριθμό με τη μικρότερη τιμή. Ανήκει στο if Ανήκει στο else Ανήκει if Μια δομή μπορεί να είναι εμφωλευμένη σε μια άλλη δομή και αυτό να επαναλαμβάνεται σε πολλά επίπεδα βάθους. Τα διαστήματα ορίζουν τη δομή των δηλώσεων.

Βρόγχοι επανάληψης Για την επανάληψη ενός συνόλου εντολών μπορούμε να χρησιμοποιήσουμε τη δομή for ή τη δομή while, oι οποίες συντάσσονται όπως παρακάτω Σύνταξη της for for Μετρητής in range(άνω_όριο): Εντολές που θα εκτελεστούν Άνω_όριο - 1 φορές Σύνταξη της while while Λογική_Τιμή: Εντολές που θα εκτελεστούν όσο η Λογική_Τιμή είναι true Στη δομή for η range παράγει μια λίστα από αριθμούς, οι οποίοι θα χρησιμοποιηθούν σαν τιμές στο μετρητή της επανάληψης. range(αρχη, ΤΕΛΟΣ, ΒΗΜΑ) Παράδειγμα Αποτέλεσμα Επεξήγηση range(4) [0,1,2,3] Η αρχή είναι το 0, το τέλος (4-1), και το βήμα είναι 1 range(3,6) [3,4,5] Η αρχή είναι το 3, το τέλος (6-1), και το βήμα είναι 1 range(4,12,3) [4,7,10] Η αρχή είναι το 4, το τέλος (12-1), και το βήμα είναι 3 range(24,12,-5) [24,19,14] Η αρχή είναι το 24, το τέλος (12-1), και το βήμα είναι -5

Παράδειγμα for και while Διαβάστε έναν ακέραιο αριθμό και υπολογίστε όλα τα γινόμενα από το 0 έως το 10. Διαβάστε έναν ακέραιο αριθμό από 10 έως 20 και σε περίπτωση που ο αριθμός είναι εκτός ορίων να επαναλάβετε τη διαδικασία.

Παράδειγμα break, continue Οι εντολές break και continue μπορούν να χρησιμοποιηθούν μέσα στο σώμα της επανάληψης με σκοπό είτε να τη διακόψουν (break) και να συνεχίσουν μετά την επανάληψη η να αγνοήσουν τις επόμενες εντολές από το σημείο που έγινε εκτέλεση της continue και να προχωρήσουν στην επόμενη τιμή του μετρητή. ΠΑΡΑΔΕΙΓΜΑ : Διαβάστε δύο αριθμούς από το πληκτρολόγιο και να υπολογίσετε το άθροισμα όλων των ενδιάμεσων αριθμών με βήμα 1. Μη λάβετε υπόψη στο άθροισμα τους περιττούς αριθμούς και σε περίπτωση που το σύνολο είναι μεγαλύτερο από 200 να διακοπεί η διαδικασία του αθροίσματος.

Παράδειγμα pass Η εντολή pass δεν εκτελεί τίποτα και χρησιμοποιείται είτε για να δείχνουν ολοκληρωμένες οι δηλώσεις είτε σαν ένδειξη ότι πρόκειται μελλοντικά να συμπληρώσουμε το συγκεκριμένο τμήμα κώδικα αλλά ότι ήδη έχουμε ολοκληρώσει μπορούμε να το εκτελέσουμε σαν εφαρμογή. Είτε βάλουμε την εντολή pass στο else είτε όχι δεν αλλάζει η λειτουργία της εφαρμογής αλλά δείχνει πιο ολοκληρωμένη η δήλωση if Το πρόγραμμα "τρέχει" παρ' όλο ότι δεν έχουμε ολοκληρώσει το κώδικα για τη τιμή 0 καθώς και για τις αρνητικές τιμές. Αυτές τις εντολές θα τις συμπληρώσουμε μελλοντικά αλλά μπορούμε τώρα να δοκιμάσουμε τις θετικές τιμές.

Συναρτήσεις Οι συναρτήσεις είναι ένα σύνολο εντολών, οι οποίες επιλύουν ένα μικρότερο πρόβλημα και ομαδοποιούνται κάτω από ένα κοινό όνομα ώστε να είναι η δυνατή η εκτέλεση όλου του συνόλου με τη κλήση του ονόματος της συνάρτησης. Οι συναρτήσεις μπορεί να δέχονται παραμέτρους οι οποίες είναι απαραίτητες για την επίλυση του προβλήματος ή όχι καθώς επίσης και μπορεί να επιστρέφουν ή όχι μια τιμή. Για να δημιουργήσουμε μια συνάρτηση στην Python, ξεκινάμε με τη λέξη def, ακολουθεί το όνομα της συνάρτησης (θα πρέπει να πληροί τους περιορισμούς των αναγνωριστικών) και τέλος ένα ζεύγος παρενθέσεων με ή χωρίς ορίσματα. Το σώμα της συνάρτησης καθορίζεται από την εσοχή (indent). Συνάρτηση χωρίς παραμέτρους def ΌνομαΣυνάρτησης(): Εντολές της Συνάρτησης Εντολές εκτός της συνάρτησης Συνάρτηση με δύο παραμέτρους def ΌνομαΣυνάρτησης(x, y): Εντολές της Συνάρτησης Εντολές εκτός της συνάρτησης Η εκτέλεση της εντολής return μέσα στο σώμα της συνάρτησης διακόπτει τη λειτουργία της και αν σε περίπτωση που η return συνοδεύεται από μια τιμή τότε ολόκληρη η συνάρτηση επιστρέφει τη συγκεκριμένη τιμή

Παραδείγματα Συναρτήσεων Συνάρτηση χωρίς παραμέτρους Συνάρτηση με παραμέτρους Συνάρτηση με παραμέτρους που επιστρέφει τιμή Συνάρτηση χωρίς παραμέτρους που επιστρέφει τιμή

Προκαθορισμένες τιμές σε συναρτήσεις Μπορούμε να ορίσουμε προκαθορισμένες τιμές στις παραμέτρους των συναρτήσεων και στην περίπτωση που δεν δώσουμε τιμές κατά τη κλήση της συνάρτησης τότε θα χρησιμοποιηθούν αυτές στη θέση τους Ισοδύναμες εκφράσεις ValueOfProduct(10,1,24) ValueOfProduct(10,2,24)

Εντολή Αποτέλεσμα Σημασία Πράξεις με αλφαριθμητικά print(x[2:]) od Από 2 μέχρι και τέλος Τα αλφαριθμητικά είναι μία ακολουθία από χαρακτήρες σε δεικτοδοτημένες θέσεις, όπου η πρώτη είναι η 0 και η τελευταία είναι μήκος του αλφαριθμητικού -1. Η συνάρτηση len υπολογίζει το μήκος του αλφαριθμητικού. print(x[:3]) Goo Από την αρχή (0 αφού δεν ορίζεται) μέχρι και (3-1) print(x[1:3]) oo Από 1 μέχρι και (3-1) print(x[:]) Good Όλο το αλφαριθμητικό Η δεικτοδότηση μπορεί να περιλαμβάνει και εύρος τιμών όπως φαίνεται στο παρακάτω πίνακα, ακόμα και αρνητικούς δείκτες, που σημαίνει ότι η αρίθμηση τους ξεκινά από δεξιά. print(x[-1]) d O 1 χαρακτήρας μετρώντας από δεξιά print(x[-2:]) od O δυο τελευταίοι χαρακτήρες print(x[0:-2]) Go Όλοι οι χαρακτήρες εκτός από τους δυο τελευταίους.

Συναρτήσεις με αλφαριθμητικά Εντολή Αποτέλεσμα Σημασία print(x.upper()) GOOD μετατροπή σε κεφαλαία print(x.lower()) good μετατροπή σε πεζά x = "This is very nice" print(x.find("very")) 8 επιστρέφει τη θέση εύρεσης του "very", ή -1 print(x.find("is", 3)) 5 έναρξη της έρευνας μετά το 3 χαρακτήρα. print(x.split()) ['This', 'is', 'very', 'nice'] επιστρέφει μια λίστα με τις λέξεις του αλφαριθμητικού. H split δέχεται και παράμετρο που ορίζει το διαχωριστικό. x = "The {0} is {1} to {2} + {3}" print(x.format(4,"equal",3,1)) x = "{0:.2f} {0:.4f} {1:.2e}" print(x.format(4.21223,0.002422)) The 4 is equal to 3 + 1 μορφοποιεί το αλφαριθμητικό τοποθετώντας τις παραμέτρους στις αντίστοιχες θέσεις. 4.21 4.2122 2.42e-03 Μορφοποίηση δεκαδικών ψηφίων

Λίστες Η λίστα είναι μία διατεταγμένη συλλογή από αντικείμενα τα οποία μπορεί να είναι διαφορετικού τύπου, ακόμη και άλλη λίστα, χωρίζονται με κόμμα και περιλαμβάνονται μέσα σε αγκύλες. Η λίστα περιέχει το αλφαριθμητικό 'hello' τον δεκαδικό αριθμό 3.2 το αλφαριθμητικό 'good' και τέλος τον ακέραιο 45 Τα στοιχεία μιας λίστας είναι σε αριθμημένες θέσεις, οι οποίες ξεκινούν από τη 0. Η δήλωση del με παράμετρο μία θέση της λίστας διαγράφει το αντίστοιχο αντικείμενο από τη λίστα. H δεικτοδότηση με εύρος θέσεων (ακόμα και με αρνητικές τιμές, που σημαίνει ότι η αρίθμηση ξεκινά από δεξιά) μπορούν να χρησιμοποιηθούν όπως είδαμε και στα αλφαριθμητικά.

Λίστες (συν) Η εντολή remove με παράμετρο τη τιμή ενός αντικειμένου, το διαγράφει από τη πρώτη θέση εμφάνισης στη λίστα. Εμφανίζεται σφάλμα αν δεν υπάρχει η τιμή στη λίστα. Σε μία λίστα μπορούμε να κάνουμε χρήση του πολλαπλασιασμού ή να προσθέσουμε μία άλλη λίστα. Η εντολή in ελέγχει αν μία τιμή εμπεριέχεται ή όχι μέσα στη λίστα. Επιπλέον χρησιμοποιείται σε μια επανάληψη για να διασχίσει τα στοιχεία της λίστας. Η συνάρτηση len επιστρέφει το πλήθος των στοιχείων της λίστας. Η insert κάνει εισαγωγή μια τιμή σε μια συγκεκριμένη θέση. Η εντολή reverse αντιστρέφει τη διάταξη των στοιχείων, η sort τα ταξινομεί αν είναι του ιδίου τύου, ενώ η clear διαγράφει όλα τα στοιχεία της λίστας.

Πλειάδες H πλειάδα είναι ένα διατεταγμένο σύνολο αποτελούμενο από τιμές διαφορετικών τύπων, οι οποίες χωρίζονται με κόμμα και περικλείεται μέσα σε παρενθέσεις. Στην πλειάδα μπορούν να εφαρμοστούν όλες οι λειτουργίες και οι μέθοδοι της λίστας εκτός από αυτές που της τροποποιούν τις τιμές, δηλαδή είναι μία λίστα η οποία δεν μπορεί να αλλάξει τις τιμές της. Με τις λειτουργίες list και tuple υπάρχει η δυνατότητα μετατροπής ανάμεσα πλειάδα σε λίστα και το αντίστροφο Η πρόσβαση στη πλειάδα έχει πιο γρήγορη υλοποίηση σε σχέση με τη λίστα και επιπλέον προσφέρει ασφάλεια αφού δεν υπάρχει δυνατότητα τροποποίησης των τιμών.

Σύνολα To σύνολο είναι μία μη διατεταγμένη (δεν έχει σημασία η σειρά) συλλογή από αντικείμενα τα οποία μπορεί να είναι διαφορετικού τύπου, χωρίζονται με κόμμα και περιλαμβάνονται μέσα σε άγκιστρα. Σε ένα σύνολο μπορούμε να προσθέσουμε στοιχεία με την εντολή add ή την update και να διαγράψουμε με την remove ή τη discard. H διαφορά τους είναι ότι σε περίπτωση που δεν υπάρχει η τιμή τότε η remove εμφανίζει σφάλμα. Η update επιτρέπει την μαζική προσθήκη στοιχείων που εμπεριέχονται σε ένα ή περισσότερα από άλλα σύνολα. Σε ένα σύνολο κάθε στοιχείο εμπεριέχεται μόνο μία φορά οπότε η εκτέλεση της add ή της update με τιμές που ήδη υπάρχουν στο σύνολο, δεν επιφέρει καμία αλλαγή στο σύνολο.

Σύνολα (συν) Σε ένα σύνολο κάθε στοιχείο εμπεριέχεται μόνο μία φορά και τα στοιχεία μπορούν να συμμετάσχουν σε πράξεις των μαθηματικών συνόλων όπως είναι : η τομή, η ένωση και η διαφορά Η ένωση είναι το σύνολο από τα κοινά και μη στοιχεία μεταξύ των δύο συνόλων k και m. Η τομή είναι το σύνολο από τα κοινά στοιχεία μεταξύ των δύο συνόλων k και m. Η διαφορά είναι το σύνολο από όλα τα στοιχεία που ανήκουν στο k και δεν ανήκουν στο m Η len επιστρέφει το πλήθος των στοιχείων ενός συνόλου. Η pop διαγράφει και επιστρέφει ένα τυχαίο στοιχείο του συνόλου και αν είναι κενό τότε εμφανίζει σφάλμα. Η clear διαγράφει όλα τα στοιχεία και το αποτέλεσμα είναι ένα κενό σύνολο.

Λεξικά Ένα λεξικό είναι ένα μη διατεταγμένο σύνολο από ζευγάρια όπου το καθένα αποτελείται από ένα κλειδί και μία τιμή τα οποία χωρίζονται μεταξύ τους με άνω-κάτω τέλεια και περικλείονται μέσα σε άγκιστρα. Το όνομα κάθε κλειδιού σε ένα λεξικό είναι μοναδικό.

Λεξικά (συν) Δημιουργία ενός νέου κλειδιού με όνομα nickexp και τιμή 20 Διαγραφή του κλειδιού με όνομα nickexp Έλεγχος για την ύπαρξη του κλειδιού georgeexp To πλήθος των κλειδιών του λεξικού Διαγραφή όλων των περιεχομένων του λεξικού

Αρχεία Για να διαχειριστούμε ένα αρχείο θα πρέπει να χρησιμοποιήσουμε την εντολή open η οποία δέχεται σαν παραμέτρους το μονοπάτι του αρχείου καθώς και μια ένδειξη που δηλώνει την κατάσταση διαχείρισης του αρχείου, όπως φαίνεται στον παρακάτω πίνακα : Ένδειξη "r" Σημασία Άνοιγμα αρχείου κειμένου μόνο για ανάγνωση,, το οποίο αν δεν υπάρχει εμφανίζει σφάλμα. "w" Άνοιγμα αρχείου κειμένου μόνο για εγγραφή, αν ήδη υπάρχει τότε το διαγράφει και δημιουργεί νέο. "a" "b" Άνοιγμα αρχείου για εγγραφή στο τέλος του αρχείου, το οποίο αν δεν υπάρχει το δημιουργεί. Χρησιμοποιείται σε συνδυασμό με μία από τις ανωτέρω ενδείξεις για να δηλώσει ότι το αρχείο είναι δυαδικό. "+" Χρησιμοποιείται σε συνδυασμό με μία ή περισσότερες από τις ανωτέρω ενδείξεις για να δηλώσει και ανάγνωση και εγγραφή. Για παράδειγμα "rb+" σημαίνει ανάγνωση και εγγραφή δυαδικού αρχείου. Η ένδειξη διαχείρισης του αρχείου είναι προαιρετική με προκαθορισμένη λειτουργία την ανάγνωση.

Παράδειγμα ανάγνωσης και εγγραφής σε αρχείο H str μετατρέπει ένα αντικείμενο σε αλφαριθμητικό. Διαβάζει όλο το αρχείο. Διαβάζει όλο το αρχείο σαν λίστα από γραμμές. Η δήλωση της κωδικοποίησης είναι προαιρετική, με προκαθορισμένη το utf-8 Ταιριάζει μια γραμμή κάθε φορά. Η εντολή seek τοποθετεί το δείκτη ανάγνωσης σε συγκεκριμένη θέση στο αρχείο. Στο παράδειγμα η θέση 0 είναι η αρχή του αρχείου και το δεύτερο 0 είναι η μετακίνηση bytes από την θέση τοποθέτησης.

Παγίδευση σφαλμάτων Κατά την εκτέλεση ενός προγράμματος μπορεί να συμβούν διαφορά σφάλματα τα οποία μπορεί να είναι καταστροφικά για την εφαρμογή μας, όπως για παράδειγμα στο παρακάτω πρόγραμμα που γίνεται διαίρεση με το 0 και εμφανίζεται το μήνυμα. Το συγκεκριμένο σφάλμα είναι τύπου ZeroDivisionError Υπάρχουν πολλά είδη σφαλμάτων όπως για παράδειγμα στο παρακάτω πρόγραμμα όπου γίνεται διαίρεση ενός αριθμού με ένα αλφαριθμητικό Το συγκεκριμένο σφάλμα είναι τύπου TypeError

Παγίδευση σφαλμάτων (συν) Για να εγκλωβίσουμε τα σφάλματα κατά την εκτέλεση θα πρέπει αυτά να εμπεριέχονται μέσα σε μία δήλωση try except finally Εάν δεν συμβεί σφάλμα και όλες οι εντολές εκτελεστούν κανονικά τότε η ροή του προγράμματος θα συνεχίσει στο finally. Αν συμβεί σφάλμα τότε θα εκτελεστεί ο κώδικας για το συγκεκριμένο except και θα συνεχίσει στο finally. Προαιρετικές δηλώσεις για τη παγίδευση συγκεκριμένου σφάλματος Παγίδευση οποιουδήποτε σφάλματος Προαιρετική δήλωση η οποία θα εκτελεστεί ανεξαρτήτως σφάλματος ή όχι.

Modules Τα Modules είναι αρχεία τα οποία περιέχουν συναρτήσεις, κλάσεις και μεταβλητές που σχετίζονται με κάποια συγκεκριμένη λειτουργικότητα. Για παράδειγμα διαχειρίζονται αρχεία, χρησιμοποιούνται για συνδέσεις και λειτουργίες με βάσεις δεδομένων, περιέχουν μαθηματικές βιβλιοθήκες κ.λπ. Υπάρχουν modules τα οποία συνοδεύουν τη γλώσσα Python εκ κατασκευής, modules τα οποία δημιουργούν τρίτοι κατασκευαστές και μπορούμε να εγκαταστήσουμε στη γλώσσα Python και muodules που τα φτιάχνουμε εμείς σαν προγραμματιστές. Για να δούμε όλα τα διαθέσιμα modules πληκτρολογούμε την εντολή help("modules") Για να κάνουμε χρήση των λειτουργιών ενός module θα πρέπει να το κάνουμε εισαγωγή στο αρχείο με το κώδικα με την εντολή import

Modules (συν) Δημιουργούμε το αρχείο mymodule.py το οποίο περιέχει δύο συναρτήσεις την sum και τη mult οι οποίες υπολογίζουν το άθροισμα και το γινόμενο δύο αριθμών. Για να χρησιμοποιήσουμε το mymodule σε ένα άλλο αρχείο της Python θα πρέπει να εκτελέσουμε την εντολή import mymodule και υπάρχουν οι παρακάτω επιλογές : Εισαγωγή module import mymodule from mymodule import * Σημασία Εισαγωγή όλων των λειτουργιών Εισαγωγή όλων των λειτουργιών from mymodule import sum Εισαγωγή μόνο της λειτουργίας sum. Για την εισαγωγή περισσοτέρων λειτουργιών τις χωρίζουμε με κόμμα, π.χ. from mymodule import sum, mult

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός (συν)