Τα πάντα για την Python

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την Python

Δημοσίευσηαπό Qdata » 21 Μάιος 2011, 19:21

Σήμερα μετά από μια αναζήτηση στο Google βρήκα αυτό: http://effbot.org/zone/exemaker.htm !Θα μπω στα windows και θα το δοκιμάσω εκεί για το πρόγραμμα τρέχει μόνο σε windows νομίζω.
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό M.Jackson » 30 Μάιος 2011, 20:37

Σήμερα έμαθα την Python και είναι ωραία γλώσσα.

Κώδικας: Επιλογή όλων
#! /usr/bin/python3
# Filename: pro.py

x = int(input("Enter today day: "))
y = int(input("Enter today month: "))
z = int(input("Enter today year: "))

print ("Thank you now enter your birthday to continue...")

x2 = int(input("Entery day: "))
y2 = int(input("Entery month: "))
z2 = int(input("Entery year: "))

day = abs(x - x2)
month = abs(y - y2)
year = z - z2

print("Είστε {0} χρονών, {1} μηνών, {2} ημερών!".format(year, month, day))

Off topic:
Ξεκινάω με τις κλασικές-απλές ασκήσεις για εξάσκηση και να κατανοήσω την γλώσσα :)
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό sv1jsb » 02 Ιουν 2011, 00:28

medigeek έγραψε:
Qdata έγραψε:Θα πρέπει να μάθει καλά την Python

Εδώ συμφωνώ, το object-oriented programming είναι όντως ένα αρνητικό σημείο, επειδή πρέπει κάποιος να συνηθίσει πρώτα σ' αυτό τον τρόπο προγραμματισμού. Προσωπικά, όταν άρχισα με την python, δοκίμασα να ακολουθήσω αυτό τον οδηγό: http://www.learningpython.com/2006/05/0 ... and-glade/
Δεν κατάφερα πολλά την πρώτη φορά, αλλά κάθε φορά που δοκίμαζα κάτι, αποκτούσα εμπειρία, πρόσεχα τι έγραφα κτλ. Όποιος ενδιαφέρεται και έχει όρεξη θα καταλάβει στο τέλος πως δουλεύει ο αντικειμενοστρεφής προγραμματισμός, όχι από τη μια μέρα στην άλλη, αλλά σε 6 μήνες (σύμφωνα με τη δική μου εμπειρία) σίγουρα.
Το πρόβλημα είναι ότι ο οδηγός αυτός δεν ισχύει πλεον σε μερικά σημεία, για παράδειγμα αντικαταστάθηκε το glade με το gtkbuilder -- είναι παρόμοια στη χρήση, αλλά μερικές γραμμές κώδικα διαφέρουν και μπορεί να προκαλέσουν σύγχυση. :)

Αν κάποιος θέλει point-and-click γλώσσες προγραμματισμού, η python είναι λάθος επιλογή, μάλλον πρέπει να δοκιμάσουν τη γλώσσα mono (C#) με το monodevelop. Υπάρχουν και άλλες γλώσσες, όπως freepascal + lazarus ή gambas.


Καταρχάς χαιρετώ όλη την κοινότητα ubutu και τους φίλους της python.
Πάνω σε αυτό που συζητάγατε πριν λίγο καιρό για το Glade και την python, επειδή κι εγώ ασχολούμαι αρκετά με αυτά τα δύο, ξεκίνησα έναν οδηγό εκμάθησης Glade που μπορεί να τον βρείτε χρήσιμο. Είναι στο blog μου: http://sv1jsb.blogspot.com

Όσον αφορά την δημιουργία exe από python θα πρότεινα το py2exe. Αν και είναι λίγο δύσκολο στο στήσιμο (μόνο σε windows) κάνει όμως εξαιρετική δουλειά στο να συγκεντρώνει όλες τις βιβλιοθήκες που έχεις κάνει import και τα απαραίτητα dll. Δημιουργεί ένα directory όπου τα βάζει όλα τα μέσα και την python, όποτε μπορείς να το αντιγράψεις σε ένα άλλο μηχάνημα που δεν έχει python εγκατεστημένη.

Ελπίζω να βοήθησα.
Programming blog
Γνώσεις ⇛ Linux: Καλά ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 10.04 64bit
Προδιαγραφές ⇛ Phenom II │ 8GB │ 2xATI 5670 │ HD Audio │ TFT 23"
Άβαταρ μέλους
sv1jsb
babeTUX
babeTUX
 
Δημοσιεύσεις: 88
Εγγραφή: 01 Ιουν 2011, 23:50
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Qdata » 02 Ιουν 2011, 16:58

sv1jsb έγραψε:Καταρχάς χαιρετώ όλη την κοινότητα ubutu και τους φίλους της python.
Πάνω σε αυτό που συζητάγατε πριν λίγο καιρό για το Glade και την python, επειδή κι εγώ ασχολούμαι αρκετά με αυτά τα δύο, ξεκίνησα έναν οδηγό εκμάθησης Glade που μπορεί να τον βρείτε χρήσιμο. Είναι στο blog μου: http://sv1jsb.blogspot.com

Όσον αφορά την δημιουργία exe από python θα πρότεινα το py2exe. Αν και είναι λίγο δύσκολο στο στήσιμο (μόνο σε windows) κάνει όμως εξαιρετική δουλειά στο να συγκεντρώνει όλες τις βιβλιοθήκες που έχεις κάνει import και τα απαραίτητα dll. Δημιουργεί ένα directory όπου τα βάζει όλα τα μέσα και την python, όποτε μπορείς να το αντιγράψεις σε ένα άλλο μηχάνημα που δεν έχει python εγκατεστημένη.

Ελπίζω να βοήθησα.


Καλησπέρα και καλωσόρισες στην κοινότητα!
Μήπως μπορείς να μας πεις πως εγκατέστησες το py2exe; :)
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Qdata » 02 Ιουν 2011, 17:05

έγραψε: Ας πούμε ότι μια κλάση ονομάζεται MyClass και μια υπόσταση αυτής ονομάζεται myobject. Αν καλέσετε μια μέθοδο αυτού του αντικειμένου myobject.method(arg1, arg2), μετατρέπεται αυτόματα από την Python σε MyClass.method(myobject, arg1, arg2)


Μπορεί να μου το δώσει κάποιος αυτό σε κώδικα παρακαλώ; :)
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό sv1jsb » 02 Ιουν 2011, 22:31

Καλησπέρα,
Στο http://www.py2exe.org θα βρείς ότι χρειάζεσαι για το πρόγραμμα. Κατέβασε το τελευταίο (έκδοση του 2008) και δοκίμασε το.
Σημείωση τρέχει μόνο με python 2 (2.6, 2.7). Δεν είναι συμβατό με python 3. Και από ότι φαίνεται, αφού η τελευταία έκδοση είναι του 2008, δεν προβλέπεται για python 3.
Όσον αφορά το παραπάνω σου quote, αυτή είναι η εξήγηση γιατί πρέπει στις μεθόδους μιας κλάσης να υπάρχει πάντα το όρισμα self. Αλλά όσον αφορά την χρήση δεν νομίζω ότι την βλέπω συχνά (την δεύτερη σύνταξη) και μάλλον δεν είναι και "σωστός" προγραμματισμός (δεν είναι ευανάγνωστος κώδικας).
Κώδικας: Επιλογή όλων
class MyClass(object):
def method(self, arg1, arg2):
bla
bla

myobj=MyClass()
myobj.method(arg1, arg2) είναι το ίδιο με MyClass.method(myobject, arg1, arg2)


Φαντάσου τώρα να έχεις δέκα instance αυτής της κλάσης obj1,obj2...obj10
και η κλάση να έχει και αρκετές μεθόδους (όπως οι περισσότερες) και να διαβάζεις κώδικα άλλου και να πρέπει
κάθε φόρα που βλέπεις κεφαλαίο γράμμα (κλάση γαρ) να σκέφτεσαι, "καλεί τώρα την μέθοδο που θέλω; ποιό αντικείμενο είναι αυτό;"
Ενώ ο πρώτος τρόπος είναι πιο ιεραρχικός. Το αντικείμενο μου, η μέθοδος του, τα ορίσματά της (από αριστερά προς τα δεξιά)
Ελπίζω να βοήθησα.
Ανδρέας
Programming blog
Γνώσεις ⇛ Linux: Καλά ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 10.04 64bit
Προδιαγραφές ⇛ Phenom II │ 8GB │ 2xATI 5670 │ HD Audio │ TFT 23"
Άβαταρ μέλους
sv1jsb
babeTUX
babeTUX
 
Δημοσιεύσεις: 88
Εγγραφή: 01 Ιουν 2011, 23:50
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό NickMrg » 03 Ιουν 2011, 01:27

Τι έχω κάνει λάθος εδώ; Μόνο αν δώσω στην αρχή "11" μου πάει στο "else" αλλιώς δεν τερματίζει ποτέ... :problem:
Κώδικας: Επιλογή όλων
number = int(input('Guess the lucky number: '))
while number != 11:
print ('That is not the lucky number.Try again...')
number = input('Guess the lucky number: ')
else:
print('Yeah, you found it!')
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ελάχιστο ┃ Αγγλικά: Καλά
NETBOOK
Λειτουργικό σε Η/Υ ϰ μοντέλο: Arch Linux 32-Bit σε HP MINI 110-1150EV
Προδιαγραφές ⇛ Intel Atom N270 1.60GHz │ 1GB │ Intel GMA 950 │ 10,1in 1024 x 600
DESKTOP-PC
Λειτουργικό: Ubuntu 11.10 64bit
Προδιαγραφές ⇛ Intel Core i7 920 │ ASUS PT6 | 6GB DDR3 │ Twintech GTS250 512MB │ SB X-Fi Titanium Fatality Champion Series | Acer HS244HQ LED 3D 24" 1920x1080
Εικόνα
Άβαταρ μέλους
NickMrg
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 533
Εγγραφή: 15 Οκτ 2010, 00:01
Τοποθεσία: Athens, Peristeri
Launchpad: nickmrg
IRC: NickMrg
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό arkanoid » 03 Ιουν 2011, 02:51

NickMrg έγραψε:Τι έχω κάνει λάθος εδώ; Μόνο αν δώσω στην αρχή "11" μου πάει στο "else" αλλιώς δεν τερματίζει ποτέ... :problem:
Κώδικας: Επιλογή όλων
number = int(input('Guess the lucky number: '))
while number != 11:
print ('That is not the lucky number.Try again...')
number = input('Guess the lucky number: ')
else:
print('Yeah, you found it!')

Μια χαρά παίζει σε 2.7.1 χωρίς κάποια αλλαγή.
Μήπως για κάποιο λόγο στο σύστημά σου χρειάζεται το cast σε int και μέσα στο while;
Γνώσεις ⇛ Linux: Καλά ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Ubuntu 11.04 64 bit σε Dell Inspiron N5010
Intel Core i5 M480 │ 4 GB │ ATI Radeon HD 5600
arkanoid
babeTUX
babeTUX
 
Δημοσιεύσεις: 15
Εγγραφή: 30 Μάιος 2011, 01:36
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό NickMrg » 03 Ιουν 2011, 04:23

arkanoid έγραψε:Μήπως για κάποιο λόγο στο σύστημά σου χρειάζεται το cast σε int και μέσα στο while;


Ουπς...έχεις δίκιο δεν το πρόσεξα...!! :oops:
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ελάχιστο ┃ Αγγλικά: Καλά
NETBOOK
Λειτουργικό σε Η/Υ ϰ μοντέλο: Arch Linux 32-Bit σε HP MINI 110-1150EV
Προδιαγραφές ⇛ Intel Atom N270 1.60GHz │ 1GB │ Intel GMA 950 │ 10,1in 1024 x 600
DESKTOP-PC
Λειτουργικό: Ubuntu 11.10 64bit
Προδιαγραφές ⇛ Intel Core i7 920 │ ASUS PT6 | 6GB DDR3 │ Twintech GTS250 512MB │ SB X-Fi Titanium Fatality Champion Series | Acer HS244HQ LED 3D 24" 1920x1080
Εικόνα
Άβαταρ μέλους
NickMrg
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 533
Εγγραφή: 15 Οκτ 2010, 00:01
Τοποθεσία: Athens, Peristeri
Launchpad: nickmrg
IRC: NickMrg
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό M.Jackson » 04 Ιουν 2011, 09:06

Off topic:
Απλές ασκήσεις για εξάσκηση στα βασικά της γλώσσας

έγραψε:Σε ένα διαγωνισμό του Ubuntu-gr.org εξετάζονται 1500 μέλη. Ως εξεταστικό website χρησιμοποιείται ένα εικονικό κτήριο με αίθουσες διαφορετικής χωρητικότητας. Ο αριθμός των επιτηρητών που απαιτούνται ανά αίθουσα καθορίζεται αποκλειστικά με βάση τη χωρητικότητα της αίθουσας ως εξής:

Μέχρι και 15 θέσεις => 1 Επιτηρητής
Από 16 μέχρι και 23 θέσεις => 2 Επιτηρητές
Πάνω από 23 θέσεις => 3 Επιτηρητές

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


Κώδικας: Επιλογή όλων
#!/usr/bin/python3

def cal(x) :
if x <= 15 :
return 1
if x>= 16 and x<=23 :
return 2
if x > 23 :
return 3

sum = 0
while sum<1500 :
num = int (input("Χωρητικότητα τάξης: "))
print("Χρειάζεστε: {0} επιτηρητές".format(cal(num)))
sum += num
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron