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

Σχετικά έγγραφα
Εισαγωγή στον Προγ/μό Υπολογιστών

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Ακολουθίες: Λίστες και Πλειάδες Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λίστες και Πλειάδες Χειµερινό Εξάµηνο 2014

Βασικά Στοιχεία Python 3

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

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

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

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

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

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

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

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

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

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

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

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

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

Μορφοποίηση εξόδου. Σημειώσεις

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

Βασικές Ασκήσεις από τα Εργαστήρια της Python. Πέμπτη Εργ. 3 17:15 και 19:15

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

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

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

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

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

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Σφάλματα, εξαιρέσεις, εκσφαλμάτωση Χειμερινό Εξάμηνο 2016

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Έλεγχος Ροής - Παραδείγµατα Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Σφάλµατα, εξαιρέσεις, εκσφαλµάτωση Χειµερινό Εξάµηνο 2014

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

String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

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

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

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

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

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

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Γλωσσική Τεχνολογία. Εισαγωγικό Φροντιστήριο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

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

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

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Επαναληπτικές Ασκήσεις Χειμερινό Εξάμηνο 2016

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Υπολογισμός - Εντολές Ελέγχου

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Transcript:

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αλφαριθμητικά Χειμερινό Εξάμηνο 2016

Λειτουργίες σε αλφαριθμητικά Μπορούμε να εφαρμόσουμε όλες τις λειτουργίες που έχουμε δει για πλειάδες και λίστες (π.χ. slicing) σε αλφαριθμητικά Προσοχή! Τα αλφαριθμητικά δεν τροποποιούνται >>> website = 'http://www.python.org' >>> website[-3:] = 'com' Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> website[-3:] = 'com' TypeError: 'str' object does not support item assignment 2

Slicing αλφαριθμητικών >>> s='hello World' >>> s[4] 'o' >>> s[3:7] 'lo W' >>> s[-4:-1] 'orl' >>> s[4:2] '' >>> s[7:2:-2] 'o l' μη έγκυρο διάστημα 3

Άλλες λειτουργίες >>> s='hello World' >>> min(s) ' ' >>> max(s) 'r' >>> 'Hello' in s True >>> len(s) 11 >>> 'Hello'*2+'World' 'HelloHelloWorld' 4

Μέθοδοι Αλφαριθμητικών >>> s='hello Hello World' >>> s.count('hello') 2 >>> s.replace('hello','bye') 'Bye Bye World' >>> s.split() ['Hello', 'Hello', 'World'] >>> s = 'state-of-the-art' >>> s.split('-') ['state', 'of', 'the', 'art'] Σπάει με διαφορετικό διαχωριστικό (delimeter) αντί για το κενό επιστρέφει το αλφαριθμητικό μετά την αντικατάσταση αλλά δεν αλλάζει το αρχικό s τα αλφαριθμητικά δεν τροποποιούνται! σπάει το αλφαριθμητικό στα κενά. Επιστρέφει λίστα με τις λέξεις που προκύπτουν. χρήσιμο για να σπάμε κείμενο σε λέξεις 5

Μέθοδοι Αλφαριθμητικών >>> s = 'hello' >>> s.capitalize() 'Hello' >>> s.upper() 'HELLO >>> s 'hello >>> s = s.upper() >>> s 'HELLO' >>> s = s.lower() >>> s 'hello' επιστρέφει το αλφαριθμητικό μετά την αντικατάσταση αλλά δεν αλλάζει το αρχικό s Αν θέλουμε να κρατήσουμε την αλλαγή θα πρέπει να την αναθέσουμε στην μεταβλητή s 6

Μέθοδοι Αλφαριθμητικών >>> s = " Hello " >>> s.strip() 'Hello' >>> s.lower().strip() 'hello' >>> s = 'Hello World ' >>> s.lower().strip().split() ['hello', 'world'] αφαιρεί τα κενά στην αρχή και στο τέλος του string Συνδυασμός μεθόδων με εκτέλεση αλληλουχίας μεθόδων (piping) 7

Μέθοδοι Αλφαριθμητικών >>> s='hello Hello World' >>> s.find('hello') 0 >>> s.find('hello',1) 6 >>> s.find('help') -1 >>> seq = ['1', '2', '3', '4', '5'] >>> sep = '+' >>> sep.join(seq) '1+2+3+4+5' επιστρέφει τη θέση της πρώτης εμφάνισης του Hello στο s άρχισε να ψάχνεις από τη θέση 1 και μετά δηλώνει ότι το Help δεν υπάρχει στο s συνένωση των στοιχείων της λίστας seq σε ένα αλφαριθμητικό 8

Που είναι το λάθος; >>> seq = ['1', '2', '3', '4', 5] >>> sep = '+ >>> sep.join(seq) Traceback (most recent call last): File "<pyshell#106>", line 1, in <module> sep.join(seq) ΟΛΑ τα στοιχεία της λίστας πρέπει να είναι αλφαριθμητικά! TypeError: sequence item 4: expected str instance, int found 9

Παράδειγμα της join >>> dirs = '', 'usr', 'bin', 'env' >>> '/'.join(dirs) ο χαρακτήρας \ '/usr/bin/env' >>> print('c:' + '\\'.join(dirs)) C:\usr\bin\env 10

Μετατροπές >>> x = 15 >>> y = 3.5 >>> z = [1,2] >>> w = (1,2) >>> str(x) '15' >>> str(y) '3.5' >>> str(z) '[1, 2]' >>> str(w) '(1, 2)' Η εντολή str δημιουργεί ένα καινούριο String από το όρισμα που παίρνει

string formating Χρησιμοποιείται στον ορισμό η τύπωση (στοιχισμένων) αλφαριθμητικών με διαφόρους τύπους δεδομένων δηλώνει μετατροπή σε αλφαριθμητικό >>> '%s plus %s equals %s' % (1, 1, 2) '1 plus 1 equals 2' >>> from math import pi >>> 'Pi: %f...' % pi 'Pi: 3.141593...' >>> 'Very inexact estimate of pi: %i' % pi 'Very inexact estimate of pi: 3' δηλώνει μετατροπή σε float δηλώνει μετατροπή σε int

Πλάτος και ακρίβεια >>> '%10f' % pi # Field width 10 ' 3.141593' >>> '%10.2f' % pi # Field width 10, precision 2 ' 3.14' >>> '%.2f' % pi # Precision 2 '3.14' >>> '%.5s' % 'Guido van Rossum' 'Guido' >>> '%.*s' % (5, 'Guido van Rossum') 'Guido' >>> '%010.2f' % pi '0000003.14' η έξοδος είναι αλφαριθμητικό πλάτους 10 παραμετροποιημένο πλάτος 0 αντί για κενά στις θέσεις που δεν χρησιμοποιούνται

Στοίχηση >>> '%-10.2f' % pi '3.14 ' στοίχηση στα αριστερά θετικός: κενο, αρνητικός: - >>> print(('% 5d' % 10) + '\n' + ('% 5d' % -10)) 10-10 θετικός: +, αρνητικός: - >>> print(('%+5d' % 10) + '\n' + ('%+5d' % -10)) +10-10

Παραδείγματα >>> x=1234.5678 >>> print(x) 1234.5678 >>> print('%d' % x) 1234 >>> print('%10d' % x) 1234 >>> print('%s' % x) 1234.5678 >>> print('%10s' % x) 1234.5678 15

Παραδείγματα >>> x=1234.5678 >>> print('%9.4f' % x) 1234.5678 >>> print('%10.4f' % x) 1234.5678 >>> print('%10.3f' % x) 1234.568 >>> print('%10.5f' % x) 1234.56780 16

Παράδειγμα: τύπωμα τιμοκαταλόγου # Print a formatted price list with a given width width = int(input('please enter width: ')) price_width = 10 item_width = width - price_width header_format = '%-*s%*s' fformat = '%-*s%*.2f' print ('=' * width) print (header_format % (item_width, 'Item', price_width, 'Price')) print ('-' * width) print (fformat % (item_width, 'Apples', price_width, 0.4)) print (fformat % (item_width, 'Pears', price_width, 0.5)) print (fformat % (item_width, 'Cantaloupes', price_width, 1.92)) print (fformat % (item_width, 'Dried Apricots (16 oz.)', price_width, 8)) print (fformat % (item_width, 'Prunes (4 lbs.)', price_width, 12)) print ('=' * width) 17

Παράδειγμα: τύπωμα τιμοκαταλόγου Please enter width: 40 ======================================== Item Price ---------------------------------------- Apples 0.40 Pears 0.50 Cantaloupes 1.92 Dried Apricots (16 oz.) 8.00 Prunes (4 lbs.) 12.00 ======================================== 18

Αλφαριθμητικές σταθερές >>> import string χρήση του string module >>> string.digits '0123456789' >>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGH IJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{ }~ \t\n\r\x0b\x0c' >>> string.punctuation '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{ }~' >>> '5' in string.digits True 19

Αλφαριθμητικές σταθερές string.digits A string containing the digits 0 9 string.letters A string containing all letters (upper- and lowercase) string.lowercase A string containing all lowercase letters string.printable A string containing all printable characters string.punctuation A string containing all punctuation characters string.uppercase A string containing all uppercase letters 20