mitsaras88, καλό είναι να συνηθίσεις από τώρα να γράφεις με συναρτήσεις. To wiki βρίσκεται υπό ανανέωση, αλλά μέχρι να παραδοθεί στην χρήση σου γράφω λίγα πραματα εδώ.
Μια συνάρτηση κάνει ακριβώς τα ίδια πράγματα με αυτό που έκανες απλά, της ορίζεις τις μεταβλητές σου εξαρχής. Θα χρησιμοποιήσω ένα απλό παράδειγμα για να καταλάβεις τι εννοώ. Πρώτα θα το γράψω και ύστερα θα εξηγήσω, μην φρικάρεις λοιπόν.
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
Στην γραμμή 1 ορίζω την συνάρτηση freefall(), η οποία παίρνει ως μεταβλητές το t (χρόνος) και το g (επιταχυνση της βαρύτητας). Επειδή στα απλά προβλήματα το g έχει συνήθως την τιμή 9,81 μπορείς να το αγνοήσεις και να δηλώσεις μόνο τον χρόνο, και η Python θα δωσει την τιμή 9,81. Αν όμως θέλεις να κάνεις ένα πείραμα στο φεγγάρι, μπορεις να ορίσεις δικια σου τιμή.
Η 2η γραμμή ονομάζεται docstring και περιγράφει με λίγα λόγια την λειτουργία της συνάρτησης. Η χρήση της είναι προεραιτική, αλλά θα σου συνιστούσα να την χρησιμοποιείς πάντα, ώστε όταν κάποιος τρίτος διαβάζει τον κωδικά σου, να καταλαβαίνει από την αρχή τι περίπου κάνει.
Η 3η γραμμή, είναι ένας απλός υπολογισμός. Το pow(t,2) σημαίνει t στο τετράγωνο.
Μόλις εκτλέσεις το πρόγραμμα, δεν θα συμβεί τίποτα. Για να το χρισιμοποιήσεις πρέπει να γράψεις την συνάρτηση και να δώσεις μια ή δυο μεταβλητές, πχ
>>> freefall(4)
78.480000000000004
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος (με g=9,81), και
>>> freefall(4,7)
56.0
Το οποίο σου επιστρέφει το ύψος στο οποίο βρισκόταν ένα αντικείμενο, αν έκανε 4 secs να φτάσει το έδαφος σε κάποιο πλανήτη με g=7 (στη Μεση Γή?)
Θυμάσαι που σου είπα πόσο χρήσιμο είναι το docstring? Μπορείς να το δεις ακόμα και στο runtime, γράφοντας:
>>> print freefall.__doc__
Ypologizei to ypsos ptwsis enos antikeimenou se eley8eri ptwsi,dedomenou tou xronou pou ekane gia na pesei