Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.
| Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση Επόμενη αναθεώρηση | Προηγούμενη αναθεώρηση | ||
|
python [2017/03/21 11:38] chiossif |
python [2021/03/18 10:49] (τρέχουσα) 176.58.194.132 [Λίγα Μαθηματικά] |
||
|---|---|---|---|
| Γραμμή 13: | Γραμμή 13: | ||
| Επομένως, | Επομένως, | ||
| + | |||
| + | |||
| + | |||
| Γραμμή 21: | Γραμμή 24: | ||
| ======Τέλειωνε, | ======Τέλειωνε, | ||
| - | για να προγραμματίσει κάποιος σε Python θα πρέπει αρχικά να την έχει εγκατεστημένη στον υπολογιστή του. | + | Για να προγραμματίσει κάποιος σε Python θα πρέπει αρχικά να την έχει εγκατεστημένη στον υπολογιστή του. |
| Η εγκατάσταση είναι μια πάρα πολύ απλή διαδικασία, | Η εγκατάσταση είναι μια πάρα πολύ απλή διαδικασία, | ||
| Για όποιον χρησιμοποιεί GNU/Linux η εγκατάσταση είναι ακόμα πιο εύκολη: | Για όποιον χρησιμοποιεί GNU/Linux η εγκατάσταση είναι ακόμα πιο εύκολη: | ||
| - | | + | $ python |
| και πατήστε enter. Αν η γλώσσα είναι εγκατεστημένη θα πρέπει να δείτε κάτι τέτοιο: | και πατήστε enter. Αν η γλώσσα είναι εγκατεστημένη θα πρέπει να δείτε κάτι τέτοιο: | ||
| - | |||
| - | Python 2.5.1 (r251: | ||
| - | [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 | ||
| - | Type " | ||
| - | >>> | ||
| - | Να σημειωθεί εδώ ότι η πιο πρόσφατη έκδοση της | + | Python 3.6.0 (default, Jan 16 2017, 12:12:55) |
| + | [GCC 6.3.1 20170109] on linux | ||
| + | Type " | ||
| + | >>> | ||
| - | Όταν λοιπόν είστε έτοιμοι να γράψετε το πρόγραμμά σας θα χρειαστείτε επεξεργαστή κειμένου. Αυτός μπορεί να είναι από τα απλά Notepad και gedit ή να είναι πιο " | + | Να σημειωθεί εδώ ότι η πιο πρόσφατη έκδοση της Python πλέον είναι η 3. Tο tutorial σήμερα είναι γραμμένο για 3 και αναφέρει τις διαφορές με την 2 όπου υπάρχουν. Επειδή υπάρχουν κάποιες βασικές διαφορές (π.χ. η raw_input αντί για την input της έκδοσης 3), αν σκοπεύετε να δουλέψετε στην 2 καλό είναι να τις διαβάσετε και να τροποποιήσετε τα προγράμματα αναλόγως. |
| + | |||
| + | Όταν λοιπόν είστε έτοιμοι να γράψετε το πρόγραμμά σας θα χρειαστείτε επεξεργαστή κειμένου. Αυτός μπορεί να είναι από τα απλά Notepad και gedit ή να είναι πιο " | ||
| Επειδή το να γράφεις κώδικα σε απλό κειμενογράφο δεν είναι πρακτικό, | Επειδή το να γράφεις κώδικα σε απλό κειμενογράφο δεν είναι πρακτικό, | ||
| + | |||
| Γραμμή 51: | Γραμμή 55: | ||
| Όταν λοιπόν γράψουμε το παραπάνω στον IDLE και πατήσουμε enter στην οθόνη μας θα εμφανιστεί το παρακάτω: | Όταν λοιπόν γράψουμε το παραπάνω στον IDLE και πατήσουμε enter στην οθόνη μας θα εμφανιστεί το παρακάτω: | ||
| - | Geia sou ntounia! | + | Geia sou ntounia! |
| Από εδώ και πέρα ο κώδικας θα έχει τη μορφή | Από εδώ και πέρα ο κώδικας θα έχει τη μορφή | ||
| - | | + | >>> |
| - | Geia sou ntounia! | + | Geia sou ntounia! |
| τα 3 > αποτελεί σημάδι ότι αυτή τη σειρά την **εισάγουμε εμείς** | τα 3 > αποτελεί σημάδι ότι αυτή τη σειρά την **εισάγουμε εμείς** | ||
| Γραμμή 63: | Γραμμή 67: | ||
| Σε αυτό το σημείο να αναφέρουμε επίσης ότι οτιδήποτε και να γράψουμε πίσω από το σύμβολο # ο υπολογιστής το αγνοεί. Ουσιαστικά το # χρησιμοποιείται για να εισάγουμε σχόλια μέσα στον κώδικα μας για να διευκολύνουν κάποιον που τον διαβάζει. | Σε αυτό το σημείο να αναφέρουμε επίσης ότι οτιδήποτε και να γράψουμε πίσω από το σύμβολο # ο υπολογιστής το αγνοεί. Ουσιαστικά το # χρησιμοποιείται για να εισάγουμε σχόλια μέσα στον κώδικα μας για να διευκολύνουν κάποιον που τον διαβάζει. | ||
| - | | + | >>> |
| - | Geia sou ntounia! | + | Geia sou ntounia! |
| παρατηρούμε ότι το print είναι χρωματισμένο πορτοκαλί που υποδηλώνει ότι είναι μια εντολή ενώ το 'Geia sou ntounia!' | παρατηρούμε ότι το print είναι χρωματισμένο πορτοκαλί που υποδηλώνει ότι είναι μια εντολή ενώ το 'Geia sou ntounia!' | ||
| + | |||
| Γραμμή 100: | Γραμμή 105: | ||
| Ευτυχώς στην έκδοση 3 δεν υπάρχει αυτό το θέμα. Η διαίρεση δίνει το σωστό αποτέλεσμα όπως κι αν είναι γραμμένοι οι αριθμοί: | Ευτυχώς στην έκδοση 3 δεν υπάρχει αυτό το θέμα. Η διαίρεση δίνει το σωστό αποτέλεσμα όπως κι αν είναι γραμμένοι οι αριθμοί: | ||
| - | | + | >>> |
| - | 0.6666666666666666 | + | 0.6666666666666666 |
| Μπορούμε επίσης να βάλουμε μεταβλητές | Μπορούμε επίσης να βάλουμε μεταβλητές | ||
| Γραμμή 118: | Γραμμή 123: | ||
| Όπως είπαμε και πριν στην Python3 δεν έχουμε θέμα: | Όπως είπαμε και πριν στην Python3 δεν έχουμε θέμα: | ||
| - | | + | >>> |
| - | >>> | + | >>> |
| - | >>> | + | >>> |
| - | 60 | + | 60 |
| - | >>> | + | >>> |
| - | 0.4166666666666667 | + | 0.4166666666666669 |
| σημείωση: | σημείωση: | ||
| Γραμμή 199: | Γραμμή 204: | ||
| **e (math.e)**. | **e (math.e)**. | ||
| + | |||
| Γραμμή 215: | Γραμμή 221: | ||
| //Φωνή από το πουθενά// | //Φωνή από το πουθενά// | ||
| - | | + | |
| - | xa=input(' | + | xa=input(' |
| - | xa=float(xa) | + | xa=float(xa) |
| - | ya=input(' | + | ya=input(' |
| - | ya=float(ya) | + | ya=float(ya) |
| - | sab=input(' | + | sab=input(' |
| - | sab=float(sab) | + | sab=float(sab) |
| - | aab=input(' | + | aab=input(' |
| - | aab=float(aab) | + | aab=float(aab) |
| - | aabr=math.pi*aab/ | + | aabr=math.pi*aab/ |
| - | xb= xa+sab*math.sin(aabr) # | + | xb= xa+sab*math.sin(aabr) # |
| - | yb= ya+sab*math.cos(aabr) # | + | yb= ya+sab*math.cos(aabr) # |
| - | print(' | + | print(' |
| Και αυτό ήταν! | Και αυτό ήταν! | ||
| Γραμμή 234: | Γραμμή 240: | ||
| Τώρα ας το κάνουμε λίγο πιο τακτοποιημένο, | Τώρα ας το κάνουμε λίγο πιο τακτοποιημένο, | ||
| - | | + | |
| - | xa, ya=input(' | + | xa, ya=input(' |
| - | xa=float(xa) | + | xa=float(xa) |
| - | ya=float(ya) | + | ya=float(ya) |
| - | sab, aab=input(' | + | sab, aab=input(' |
| - | sab=float(sab) | + | sab=float(sab) |
| - | aab=float(aab) | + | aab=float(aab) |
| - | aabr=math.pi*aab/ | + | aabr=math.pi*aab/ |
| - | xb= xa+sab*math.sin(aabr) # | + | xb= xa+sab*math.sin(aabr) # |
| - | yb= ya+sab*math.cos(aabr) # | + | yb= ya+sab*math.cos(aabr) # |
| - | print(' | + | print(' |
| + | |||
| + | Τι έχουμε κάνει εδω; Ουσιαστικά εισάγουμε δυο μεταβλητές με μια input (raw_input), | ||
| + | |||
| + | Με το σύμβολο % ο υπολογιστής " | ||
| Δυστυχώς μέχρι τώρα η input στην Python2 δεν έχει αποκτήσει την split της οπότε πρέπει να χρησιμοποιήσουμε την raw_input με παρόμοιο τρόπο: | Δυστυχώς μέχρι τώρα η input στην Python2 δεν έχει αποκτήσει την split της οπότε πρέπει να χρησιμοποιήσουμε την raw_input με παρόμοιο τρόπο: | ||
| Γραμμή 259: | Γραμμή 269: | ||
| yb= ya+sab*math.cos(aabr) # | yb= ya+sab*math.cos(aabr) # | ||
| print(' | print(' | ||
| - | |||
| - | |||
| - | Τι έχουμε κάνει εδω; Ουσιαστικά εισάγουμε δυο μεταβλητές με μια input (raw_input), | ||
| - | |||
| - | Με το σύμβολο % ο υπολογιστής " | ||
| Γραμμή 343: | Γραμμή 348: | ||
| **Άραγε μετά από αυτά, μπορείτε να γράψετε ενα πρόγραμμα που να επιλύει το 2ο Θεμελιώδες Πρόβλημα; | **Άραγε μετά από αυτά, μπορείτε να γράψετε ενα πρόγραμμα που να επιλύει το 2ο Θεμελιώδες Πρόβλημα; | ||
| + | |||
| Γραμμή 358: | Γραμμή 364: | ||
| Αν δεν είναι όμως; Αν διαβάσετε πιο προσεκτικά το παραπάνω σφάλμα θα δείτε ότι στην τελευταία του γραμμή εμφανίζει το λόγο του σφάλματος : ZeroDivisionError , δηλαδη διαιρέσαμε με το 0. | Αν δεν είναι όμως; Αν διαβάσετε πιο προσεκτικά το παραπάνω σφάλμα θα δείτε ότι στην τελευταία του γραμμή εμφανίζει το λόγο του σφάλματος : ZeroDivisionError , δηλαδη διαιρέσαμε με το 0. | ||
| - | Υπάρχουν διάφοροι τύποι σφαλμάτων. Για παράδειγμα αν στο πρόγραμμα επίλυσης του 1ου θεμελιώδους Προβλήματος, | + | Υπάρχουν διάφοροι τύποι σφαλμάτων. Για παράδειγμα αν στο πρόγραμμα επίλυσης του 1ου θεμελιώδους Προβλήματος, |
| Dose mou to Xa kai Ya -xwrismena me komma kai keno-:32 132 | Dose mou to Xa kai Ya -xwrismena me komma kai keno-:32 132 | ||
| Traceback (most recent call last): | Traceback (most recent call last): | ||
| File "/ | File "/ | ||
| - | xa, xb=raw_input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' | + | xa, xb=input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' |
| ValueError: need more than 1 value to unpack | ValueError: need more than 1 value to unpack | ||
| Γραμμή 371: | Γραμμή 377: | ||
| try: | try: | ||
| - | xa, ya=raw_input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' | + | xa, ya=input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' |
| except ValueError: | except ValueError: | ||
| - | print ' | + | print(' |
| raise | raise | ||
| Γραμμή 388: | Γραμμή 394: | ||
| while 1: | while 1: | ||
| try: | try: | ||
| - | xa, ya=raw_input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' | + | xa, ya=input('Dose mou to Xa kai Ya -xwrismena me komma kai keno-:' |
| except ValueError: | except ValueError: | ||
| - | print ' | + | print(' |
| else: | else: | ||
| break | break | ||
| Γραμμή 510: | Γραμμή 516: | ||
| >>> | >>> | ||
| [10, 9, 8, 8, 6, 5, 4, 3, 3, 2, 1] | [10, 9, 8, 8, 6, 5, 4, 3, 3, 2, 1] | ||
| + | |||
| =====Συναρτήσεις===== | =====Συναρτήσεις===== | ||
| Γραμμή 544: | Γραμμή 551: | ||
| " | " | ||
| S=0.5*g*pow(t, | S=0.5*g*pow(t, | ||
| - | print S | + | print(S) |
| Ας αναλύσουμε την λειτουργία της συνάρτησης: | Ας αναλύσουμε την λειτουργία της συνάρτησης: | ||
| Γραμμή 568: | Γραμμή 575: | ||
| Θυμάστε το docstring? Μπορείτε να το δείτε ακόμα και στο runtime, γράφοντας: | Θυμάστε το docstring? Μπορείτε να το δείτε ακόμα και στο runtime, γράφοντας: | ||
| - | >>> | + | >>> |
| Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, | Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, | ||
| + | |||
| Γραμμή 584: | Γραμμή 592: | ||
| [[http:// | [[http:// | ||
| - | [[http://www.pythonware.com/library/tkinter/ | + | [[http://tkinter.unpythonic.net/wiki/ | Tkinter]] άρθρωμα (module) για την εργαλειοθήκη (toolkit) διεπαφής του γραφικού περιβάλλοντος (GUI) Tk. |
| [[http:// | [[http:// | ||
| Γραμμή 592: | Γραμμή 600: | ||
| [[http:// | [[http:// | ||
| - | [[http:// | + | [[http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html | OpenCV]] μια βιβλιοθήκη για επεξεργασία εικόνας σε πραγματικό χρόνο. |
| και πολλές πολλές άλλες :-) | και πολλές πολλές άλλες :-) | ||