Συζητήσεις > python

Python Wiki Tutorial

(1/4) > >>

vagvaf:
Χαιρετώ σας!

Πρόσφατα ανακάλυψα την Python!
Είναι μαι πανεύκολη γλώσσα προγραμματισμού που έχει ιδιαίτερες εφαρμογές πάνω σε GIS.

Η απλότητα της με ενθουσίασε τόσο πολύ που άρχισα να μαθαίνω σίγα σίγα από το online documentation της και έπειτα αγόρασα και βιβλία!

Σκέφτηκα λοιπόν ότι ίσως εκεί έξω υπάρχουν αρκετοί από σας που σας αρέσει μεν ο προγραμματισμός άλλα βρίσκετeε την C++ πολύ δύσκολη ή too much για σας όπως εγώ!
Για αυτό δημιούργησα ένα wiki που κάνει μια εισαγωγή στην Python και εξηγεί 5 βασικά πράγματα, που με τα οποία όμως θα μπορέσετε να λύσετε αρκετά προβλήματα της σχολής μας.

Ορίστε το url : http://wiki.topografoi.com/doku.php/python

Ελπίζω να σας βοηθήσει!

πάρτε και ένα κομιξάκι που δείχνει την απλότητα της Python!

mitsaras88:
καλησπέρα.
ένα ζήτημα με απλές πράξεις στη python.θέλω την πράξη g=(π^2)*l/T
και γράφω

Python 2.6.4 (r264:75706, Nov  2 2009, 14:38:03)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> t=raw_input('dose periodo T:')
dose periodo T:3.00798
>>> l=2.2452
>>> g=math.pow(math.pi,2)*l/t
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'float' and 'str'
>>>

αν μπορεί κάποιος να μου πει τι δεν κάνω καλά τον κερνάω μπύρα (κι ας μην έχει αναπτύξει καθόλου ανοιχτό λογισμικό...)

chiossif:
Δεν ξέρω python αλλά υποπτεύομαι ότι το t είναι κείμενο και όχι αριθμός.
Μάλλον θα έπρεπε να γράψεις

>>>t=float(raw_input('dose periodo T:'))

Ελπίζω να είναι αυτό.

mitsaras88:
ευχαριστώ.
αυτό δούλεψε

vagvaf:
mitsaras88, καλό είναι να συνηθίσεις από τώρα να γράφεις με συναρτήσεις. To wiki βρίσκεται υπό ανανέωση, αλλά μέχρι να παραδοθεί στην χρήση σου γράφω λίγα πραματα εδώ.

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


--- Code: ---def freefall(t, g=9.81):
    "Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi, dedomenou tou xronou pou ekane gia na pesei"
    S=0.5*g*pow(t,2)
    print S
--- End code ---

Στην γραμμή 1 ορίζω την συνάρτηση freefall(), η οποία παίρνει ως μεταβλητές το t (χρόνος) και το g (επιταχυνση της βαρύτητας). Επειδή στα απλά προβλήματα το g έχει συνήθως την τιμή 9,81 μπορείς να το αγνοήσεις και να δηλώσεις μόνο τον χρόνο, και η Python θα δωσει την τιμή 9,81. Αν όμως θέλεις να κάνεις ένα πείραμα στο φεγγάρι, μπορεις να ορίσεις δικια σου τιμή.

Η 2η γραμμή ονομάζεται docstring και περιγράφει με λίγα λόγια την λειτουργία της συνάρτησης. Η χρήση της είναι προεραιτική, αλλά θα σου συνιστούσα να την χρησιμοποιείς πάντα, ώστε όταν κάποιος τρίτος διαβάζει τον κωδικά σου, να καταλαβαίνει από την αρχή τι περίπου κάνει.

Η 3η γραμμή, είναι ένας απλός υπολογισμός. Το pow(t,2) σημαίνει t στο τετράγωνο.

Μόλις εκτλέσεις το πρόγραμμα, δεν θα συμβεί τίποτα. Για να το χρισιμοποιήσεις πρέπει να γράψεις την συνάρτηση και να δώσεις μια ή δυο μεταβλητές, πχ


--- Code: --->>> freefall(4)
78.480000000000004
--- End code ---
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος (με g=9,81), και


--- Code: --->>> freefall(4,7)
56.0
--- End code ---
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος σε κάποιο πλανήτη με g=7 (στη Μεση Γή?)

Θυμάσαι που σου είπα πόσο χρήσιμο είναι το docstring? Μπορείς να το δεις ακόμα και στο runtime, γράφοντας:

--- Code: --->>> print freefall.__doc__
Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi,dedomenou tou xronou pou ekane gia na pesei
--- End code ---

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Go to full version