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

Σχετικά έγγραφα
Βασικά στοιχεία γλώσσας προγραμματισμού

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

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

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

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

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

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

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

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

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

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

Τύποι δεδομένων, τελεστές, μεταβλητές

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

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

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

Προγραμματισμός I (Θ)

Δεδομένα, τελεστές, είσοδος/έξοδος

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή στην Python Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή στην Python Χειμερινό Εξάμηνο 2016

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

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

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

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.

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

Στοιχειώδης προγραμματισμός σε C++

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

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

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20

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

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

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

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

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

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Σημειωματάριο Τετάρτης 4 Οκτ. 2017

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

Τιμές και τύποι, μεταβλητές Ένα πρώτο σημαντικό βήμα για να μάθουμε να προγραμματίζουμε είναι να

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

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

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

Κεφάλαιο 4: Μεταβλητές και εκφράσεις

Βασικά στοιχεία της Java

Πληροφορική ΙΙ Θεματική Ενότητα 4

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

Βασικές Αρχές Προγραμματισμού

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

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

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

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

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.


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

5 &6. Τύποι δεδομένων, τελεστές και

Η Απάντηση. Φύλλο Εργασίας. Μηνύματα

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

Visual Basic Βασικές Έννοιες

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

1. Εισαγωγή στο Sage.

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Transcript:

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

Ας θυμηθούμε ξανά την παλιά μας «αγάπη» Η Python είναι μία σύγχρονη, διερμηνευόμενη, υψηλού επιπέδου γλώσσα γενικής χρήσης για την ανάπτυξη πολλών προγραμμάτων, από απλά έως τα πλέον σύνθετα (εκπαιδευτικά παιχνίδια, εμπορικές εφαρμογές, πλατφόρμες κοινωνικής δικτύωσης κλπ.) Υποστηρίζει διάφορα προγραμματιστικά υποδείγματα: Δομημένο προγραμματισμό Συναρτησιακό Αντικειμενοστρεφές Είναι αρθρωτή (modular), εύκολα δηλαδή ο προγραμματιστής φορτώνει επιπρόσθετες εξωτερικές βιβλιοθήκες με έτοιμο κώδικα στο πρόγραμμα του, κάνοντας τη ζωή του ευκολότερη.

Η ιστοσελίδα της Python Τελ. Επίσκεψη: Σεπτέμβριος 2016 www.python.org

Δεδομένα στην Python Ένα πρόγραμμα συνήθως επεξεργάζεται δεδομένα τα οποία μπορεί να είναι αποθηκευμένα στην κύρια μνήμη ή σε ένα αποθηκευτικό μέσο του υπολογιστή, ή η εισαγωγή τους γίνεται τώρα από κάποια μονάδα (π.χ. πληκτρολόγιο). Τα δεδομένα που χειρίζεται η Python μπορεί να είναι: Αριθμητικά Ακέραιοι αριθμοί (integer): 3, -9 Αριθμοί κινητής υποδιαστολής (float): 2.8, 4.0, 5Ε+2, 12.3Ε-2 Αλφαριθμητικά ή Συμβολοσειρές (string) Giannis, 12ab, 57 Λογικά (boolean) True, False 5x10 2 =5x100=500 Είτε μονά, είτε διπλά εισαγωγικά δεν έχει σημασία, αρκεί το ζευγάρι να είναι ίδιο Προσοχή στο κεφαλαίο T, F Python python

Ο τύπος δεδομένων μιας μεταβλητής προσδιορίζει το σύνολο των τιμών που μπορεί να πάρει μια μεταβλητή. Τυπικά, προσδιορίζει τον τρόπο παράστασης των δεδομένων εσωτερικά στον υπολογιστή και το είδος επεξεργασίας που μπορούν να γίνουν πάνω τους. Σε αντίθεση με όλες τις άλλες γλώσσες προγραμματισμού στην Python δεν ορίζεται ρητά ο τύπος δεδομένων μιας μεταβλητής και μάλιστα είναι συνηθισμένο να αλλάζει μέσα στο πρόγραμμα. a='abc' print a a=2 print a a=true print(a) Τύποι δεδομένων στην Python Η Python περιέχει δυναμικούς τύπους δεδομένων, που σημαίνει ότι οι έλεγχοι γίνονται κατά τον χρόνο εκτέλεσης και όχι κατά τον χρόνο μεταγλώττισης του προγράμματος. Ο τύπος δεδομένων της μεταβλητής καθορίζεται αφού πάρει πρώτα τιμή η μεταβλητή. Τύποι δεδομένων στην Python int float str bool

Τι τύπος είσαι εσύ; >>> type(2) <type 'int'> >>> type(2.3) <type 'float'> >>>type('giannis') <type 'str'> >>> type(true) <type 'bool'>

Τελεστές και τελεστέοι Τελεστές είναι τα ειδικά σύμβολα που αναπαριστούν υπολογισμούς (πράξεις) όπως η πρόσθεση και ο πολλαπλασιασμός. Οι τιμές στις οποίες εφαρμόζονται οι τελεστές ονομάζονται τελεστέοι. Αριθμητικοί Τελεστές Πρόσθεση Αφαίρεση Πολλαπλασιασμός Διαίρεση Ύψωση σε δύναμη Ακέραιο πηλίκο Ακέραιο υπόλοιπο : + : - : * : / : ** : // : % Προσοχή Python 2 9/2=4 9.0/2=4.5 Python 3 9/2=4.5 >>> 14/3 4 >>> 14.0/3 4.666666666666667 >>> 14/3.0 4.666666666666667 >>> 14.0/3.0 4.666666666666667 >>> 14//3 4 >>> 2*3 6 >>> 2**3 8 >>> 9%2 1 >>> 9-5 4 >>> 9+5 14

Συγκριτικοί (Σχεσιακοί) τελεστές Ίσο με : == Διάφορο από :!= Μεγαλύτερο από : > Μικρότερο από : < Μεγαλύτερο ή ίσο με : >= Μικρότερο ή ίσο με : <= True=1 False=0 >>> 6>4 True >>> 6==8 False >>> 6!=8 True >>> 6>=4 True >>> a=9 >>> b=7 >>> a>b True >>> 'a'>'b' False >>> 'γιάννης'<'κέρος' True >>> 'γιάννης'>'γιώργος' False >>>0==True False >>> x=4 >>> y=9 >>> z=8 >>> x>y>z False

Λογικοί τελεστές Σύζευξη Διάζευξη Άρνηση : and : or : not Πρόταση Α Πρόταση Β Α and B A or B False False False False False True False True True False False True True True True True Πρόταση Α False True not A True False >>> a=5 >>> b=4 >>> c=6 >>> a>b True >>> a>b and a>c False >>> a>b or a>c True >>> a>b and not a>c True >>> a>b or not a>c True >>> not(a>b) or a>c False >>> not a>b or a>c False

Προτεραιότητα Σειρά Τελεστής 1. ** Αριθμητικοί 2. *, /, //, % 3. +, - Συγκριτικοί 4. >, >=, <, <=, ==,!= 5. not Λογικοί 6. and 7. or Παρατηρήσεις 1. Όταν υπάρχουν τελεστές με την ίδια προτεραιότητα τότε εκτελούνται αυστηρά από τα αριστερά προς τα δεξιά. 2. Οι υπολογισμοί μέσα στις παρενθέσεις προηγούνται. >>> 3*2+6*4 30 >>> 3*2**3 24 >>> 19%5//4*18 18 >>> 20//3<=7 True >>> 2==5 or 5!=6 and 7<=6 False

Παραδείγματα με ενδιαφέρον >>> 20//3*4 24 >>> 20%3*4 8 >>> 6*3/2*4 36 >>> 6*3.0/2*4 36.0 >>> 6*3.0/(2*4) 2.25 >>> 6+3/(2*4) 6 >>> 6+3.0/(2*4) 6.375 >>> 3+4 7 >>> 'a'+'b' 'ab' >>> 2*3 6 >>> 'la'*3 'lalala' Συνένωση Επανάληψη του κειμένου

Τελεστές (Σύνοψη) Αριθμητικοί Σχεσιακοί Λογικοί + - * / % // ** Πρόσθεση Αφαίρεση Πολλαπλασιασμός Διαίρεση Ακ. Υπόλοιπο Ακ. Πηλίκο Δύναμη == Ισότητα!= Διάφορο < Μικρότερο > Μεγαλύτερο <= Μικρότερο ή ίσο >= Μεγαλύτερο ή ίσο and or not και ή όχι

Μεταβλητές στην Python Μεταβλητή είναι ένα σύμβολο που «δείχνει» σε μία τιμή. Χρησιμοποιείται για να συμβολίσουμε τις ποσότητες που χειριζόμαστε στο πρόγραμμα, τα δεδομένα μας. Κάθε μεταβλητή διαθέτει ένα όνομα και μία τιμή. Το όνομα της παραμένει σταθερό αλλά η τιμή της μπορεί να αλλάζει. Παραδείγματα a=16 num=7 pi=3.14 ok=false

a=1 Μεταβλητές στην Python ή Οι μεταβλητές στην Python λειτουργούν σαν ετικέτες με κάποιο όνομα, που χρησιμεύουν για να αναφερόμαστε (ή αλλιώς για να δείχνουμε) σε κάποια αντικείμενα. Ο τύπος της μεταβλητής είναι ο εκάστοτε τύπος του αντικειμένου στην οποία αναφέρεται.

Μεταβλητές στην Python Στο διπλανό παράδειγμα με την εντολή a = 125, δημιουργείται η μεταβλητή a η οποία αναφέρεται στην τιμή 125 (ακέραια). Όταν θέσουμε στη συνέχεια a = 250.7, η μεταβλητή a παύει πλέον να δείχνει την τιμή 125 και δημιουργείται ένα νέο δέσιμο ώστε να αναφέρεται στην τιμή 250.0 (πραγματική) κοκ Η Python παρακολουθεί όλες τις τιμές και τις διαγράφει όταν πάψουν να υπάρχουν μεταβλητές που να αναφέρονται σε αυτές. Η διαδικασία αυτή ονομάζεται συλλογή σκουπιδιών (garbage collection). >>> a=125 >>> type(a) <type int > >>> a=250.7 >>> type(a) <type float > >>> a=true >>> type(a) <type bool > >>> a= Hello >>> type(a) <type str >

Αναπαράσταση μεταβλητών στη μνήμη Εντολές Άλλες γλώσσες Αποτέλεσμα στη μνήμη Python a=1 a=2 b=a

Κανόνες ονοματολογίας μεταβλητών Ο πρώτος χαρακτήρας μπορεί να είναι μόνο ένα γράμμα της αλφαβήτου ή κάτω παύλα ( _ ). Το υπόλοιπο του ονόματος μπορεί να είναι γράμματα της αλφαβήτου, κάτω παύλες ( _ ) ή ψηφία (0..9). Υπάρχει διάκριση πεζών - κεφαλαίων. Για παράδειγμα, τα myname και myname δεν είναι ίδια. Μπορείτε να χρησιμοποιήσετε ελληνικούς χαρακτήρες στην Python 3 (δεν προτείνεται) αλλά όχι στην Python 2. Δεν μπορεί το όνομα ενός αναγνωριστικού να είναι μια δεσμευμένη λέξη της Python (εντολή, συνάρτηση κλπ.) Σωστά ονόματα: i, myname, my_name, name_23, a1b2_c3 Λάθος ονόματα: 2things, my name, my-name, myname

Έξοδος Η συνάρτηση print a=2 print a x=3 y=4 print x,y print '1o ΕΠΑΛ' k=9 print 3*k+2 b=18 print 'Ο βαθμός είναι',b print 'ΠΑΟΚ' print 'ΑΡΗΣ' print 'ΠΑΟΚ', print 'ΑΡΗΣ' 2 3 4 1o ΕΠΑΛ 29 Ο βαθμός είναι 18 ΠΑΟΚ ΑΡΗΣ ΠΑΟΚ ΑΡΗΣ Xρησιμοποιείται για την εμφάνιση τιμών στην οθόνη του υπολογιστή, με ποικίλες μορφές, όπως: print όνομα_μεταβλητής, π.χ. print name print αριθμός, π.χ. print 1045.34 print συμβολοσειρά, π.χ. print θαλασσινός αέρας print όνομα_μεταβλητής (τελεστής) αριθμός

Είσοδος Η συνάρτηση raw_input() Στα περισσότερα προγράμματα απαιτείται η είσοδος δεδομένων από τον χρήστη. Για τον σκοπό αυτό η Python διαθέτει δύο ενσωματωμένες συναρτήσεις, την raw_input() και την input(). Κάθε φορά που καλείται η συνάρτηση αυτή από το πρόγραμμα, αυτό σταματάει και περιμένει από τον χρήστη να πληκτρολογήσει κάτι. Όταν ο χρήστης πληκτρολογήσει την είσοδο και πατήσει το πλήκτρο Enter, το πρόγραμμα συνεχίζει τη ροή εκτέλεσης και η συνάρτηση input επιστρέφει την είσοδο σαν συμβολοσειρά. Χρήσιμο είναι να εμφανίζεται και ένα μήνυμα (prompt) που να πληροφορεί τον χρήστη για το είδος της εισόδου που αναμένεται από το πρόγραμμα. >>> name=raw_input('πως σε λένε;') Πως σε λένε;john >>> print name John

Είσοδος Η συνάρτηση raw_input() >>> x=raw_input('δώστε έναν αριθμό:') Δώστε έναν αριθμό:5 >>> k=x*2+1 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> k=x*2+1 TypeError: cannot concatenate 'str' and 'int' objects >>> x=raw_input('x=') x=7 >>> print x+'1' 71

Είσοδος Η συνάρτηση input() Η συνάρτηση input(), έχει παρόμοια λειτουργία με την raw_input() με την ουσιαστική διαφορά ότι δεν επιστρέφει απαραίτητα συμβολοσειρά (κείμενο) αλλά προσπαθεί να μαντέψει το είδος των δεδομένων και να κάνει αυτόματα την σωστή μετατροπή. >>> x=input('δώστε έναν αριθμό:') Δώστε έναν αριθμό:5 >>> k=x*2+1 >>> print k 11 >>> x=input('x=') x=7 >>>y=(x+3)*5 >>> y 50 >>> x=input('x=') x=7 >>> x+=10 >>> x 17

Διευκρινήσεις Είναι σημαντικό να θυμόμαστε ότι η συνάρτηση raw_input() επιστρέφει πάντα συμβολοσειρά. Ωστόσο, όπως είπαμε σε προηγούμενη ενότητα η Python μας προσφέρει ενσωματωμένες συναρτήσεις για μετατροπή από έναν τύπο δεδομένων σε έναν άλλο: float(x): μετατρέπει ακέραιους αριθμούς και συμβολοσειρές σε αριθμούς κινητής υποδιαστολής. int(x): μετατρέπει αριθμούς κινητής υποδιαστολής σε ακεραίους, κόβωντας τα δεκαδικά ψηφία και συμβολοσειρές (που μοιάζουν με αριθμούς) σε ακέραιους αριθμούς. str(x): μετατρέπει αριθμούς σε συμβολοσειρές. Οι συναρτήσεις int και float επιστρέφουν μία τιμή, έναν ακέραιο αριθμό ή έναν αριθμό κινητής υποδιαστολής αντίστοιχα, αλλά δεν αλλάζουν τον τύπο μιας μεταβλητής και την τιμή στην οποία αυτή δείχνει. Αν θέλουμε, μπορούμε να εκχωρήσουμε την επιστρεφόμενη τιμή σε μια νέα μεταβλητή.

Παραδείγματα >>> float(8) 8.0 >>> int('124')+6 130 >>> int(float('3.14')) 3 >>> str(24)*2 '24124' >>> int(6.3) 6 >>> str(7)+ '3' 73 >>> int('13') 13 >>> x=int(raw_input('x=')) x=5 >>> print x+3 8

Παραδείγματα >>> x=raw_input(give a number:') Give a number: 5 >>> y=x**2 Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> y=x**2 TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int' >>> x=input('x=') x=5 >>> t=x**2 >>> print t 25 >>> x=int(input( x=')) x=5 >>> t=x**2 >>> print t 25

Παραδείγματα >>> num=5 >>> word='give me'+num Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> word='give me'+num TypeError: cannot concatenate 'str' and 'int' objects >>> word='give me'+str(num) >>> print word Give me5

# Σχόλια Σχόλια Τα σχόλια μπαίνουν σε οποιοδήποτε σημείο του προγράμματος με σκοπό να δώσουν διευκρινήσεις σχετικά με την αναγκαιότητα ενός τμήματος προγράμματος, μιας μεταβλητής ή μιας πράξης. Σχόλια εισάγονται με το σύμβολο της # Είναι καλό κάθε νέο πρόγραμμα μας να έχει για πρώτη του σειρά ένα σχόλιο με την περιγραφή του προγράμματος #Πρόγραμμα υπολογισμού μέσου όρου μαθητή m1=input() m2=input() mo=(m1+m2)/2 print mo

Βασικές (ενσωματωμένες) συναρτήσεις abs() : επιστρέφει την απόλυτη τιμή ενός αριθμού pow(a,b) : επιστρέφει τη δύναμη του a υψωμένη στο b divmod(x,y) : επιστρέφει το πηλίκο και το υπόλοιπο της ακέραιης διαίρεσης του χ με το y round(num) : επιστρέφει το στρογγυλοποιημένο ακέραιο που προκύπτει από τον num >>> a=-5 >>> abs(a) 5 >>> x=3 >>> y=2 >>> pow(y,x) 8 >>> x=9 >>> y=4 >>> divmod(x,y) (2, 1) >>> round(4.7) 5.0 >>> round(3.4) 3.0 >>> round(3.5) 4.0 >>> 3.0/2 1.5 >>> 3/2 1 >>> float(3)/2 1.5 >>> float(3/2) 1.0

Επιπλέον συναρτήσεις H Python είναι μία γλώσσα με πολλά αρθρώματα (modules) Άρθρωμα ή μονάδα (module); Μία συλλογή από συναρτήσεις που μας προσφέρονται δωρεάν στο διαδίκτυο με την βοήθεια των οποίων μπορώ να κάνω πολλά επιπλέον πράγματα που η βασική Python δεν προσφέρει. Τις συλλογές αυτές τις έχουν κατασκευάσει άλλοι για εμάς πριν από εμάς (για παράδειγμα επιπλέον μαθηματικές συναρτήσεις, δημιουργία παιχνιδιών κλπ.) Εισαγωγή μιας τέτοιας μονάδας στο σύστημά μας import όνομα_μονάδας

Επιπλέον συναρτήσεις εισαγωγή μονάδας χρήση συνάρτησης μονάδας >>> import math >>> math.pi 3.141592653589793 >>> math.floor(4.2) 4.0 >>> math.floor(4.9) 4.0 >>> math.floor(-4.2) -5.0 >>> math.floor(-4.9) -5.0 >>> math.sqrt(16) 4.0 >>> import random >>> random.randint(1,6) 6 >>> random.randint(1,6) 1 Μπορώ να δηλώσω ότι θα χρησιμοποιήσω όλη την βιβλιοθήκη ή Μια συγκεκριμένη συνάρτηση της βιβλιοθήκης >>>from math import sqrt >>>sqrt(16) 4.0

Καλές τεχνικές Να δίνουμε ένα χαρακτηριστικό τίτλο στο πρόγραμμα με τη μορφή σχολίων, τα οποία ξεκινάνε με το σύμβολο #. Αυτό, αν και δεν είναι αναγκαίο, είναι χρήσιμο. Να προσέχουμε τα κενά διαστήματα πριν την κάθε εντολή, καθώς όπως ξέρουμε η Python βασίζεται σε αυτά για να ορίσει ομάδες εντολών. Να επιλέγουμε τους κατάλληλους τελεστές και να δίνουμε ιδιαίτερη προσοχή στην προτεραιότητα των πράξεων. Να χρησιμοποιούμε τα ίδια εισαγωγικά (μονά εισαγωγικά με μονά, διπλά εισαγωγικά με διπλά) για μια συμβολοσειρά. Να προσθέτουμε, όπου κρίνουμε χρήσιμο, επεξηγηματικά σχόλια μέσα στον κώδικα. Αυτά τα σχόλια θα βοηθήσουν κάποιον προγραμματιστή να κατανοήσει το πρόγραμμα και να το βελτιώσει αν χρειαστεί. Ακόμα και εμάς θα μας βοηθήσει να θυμηθούμε τι κάνει αν δούμε το πρόγραμμα κάποιους μήνες μετά τη δημιουργία του. Να δίνουμε ονόματα μεταβλητών που έχουν σχέση με τη χρήση τους.