Συναρτησεις

Ξεκίνησε από theoni, 17 Απρ 2023, 11:52:02 ΜΜ

« προηγούμενο - επόμενο »

theoni

Καλησπέρα και χρόνια πολλά !!!!Μια ερώτηση θέλω να κάνω ποτέ βάζουμε return σε μια συνάρτηση ???( Υποθέτω όταν λέει η συνάρτηση να επιστρέφει )έχω δει όμως και ασκήσεις που δεν βάζουμε return και όταν εκτελώ το πρόγραμμα φαίνεται ότι αν καλέσω την συνάρτηση στο πρόγραμμα θα επιστραφεί το αποτέλεσμα στο πρόγραμμα κανονικα

polikarpos

Καλησπέρα και  Χρόνια πολλά.
Ναι όταν μία άσκηση ζητάει να επιστρέφεται  μία τιμή χρησιμοποιούμε το return.
στην Python  αν δεν χρησιμοποιήσουμε  Return έτσι κι αλλιώς επιστρέφετε πάντα το None.
Το μόνο που μπορώ να σκεφτώ το οποίο να φαίνεται  ότι επιστρέφεται μία τιμή χωρίς να χρησιμοποιήσω το  return  όπως λες,  είναι να χρησιμοποιούν μία καθολική global μεταβλητή.  κάτι το οποίο δεν είναι και καλή ιδέα Όσον αφορά τον  προγραμματισμό γενικά.
www.sepchiou.gr
moodle.sepchiou.gr
museum.sepchiou.gr

taxata

Καλημέρα και χρόνια πολλά σε όλους.
Επίσης οι λειτουργίες συναρτήσεων σε mutable (τροποποιήσιμα) αντικείμενα "επιστρέφονται" σε αυτά με ή χωρίς return χωρίς βέβαια να αλλάζει  η ταυτότητα του αντικειμένου
alist = [1,2,3]

id(alist)
2156977133888

def mod_list():
    alist.append(4)

alist
[1, 2, 3, 4]
def mod_list1(x):
    x.append(5)

mod_list1(alist)
alist
[1, 2, 3, 4, 5]
def mod_list2():
    alist.append(6)
    return alist

[1, 2, 3, 4, 5, 6]
id(alist)
2156977133888
def mod_list3(x):
    x.append(7)
    return x

mod_list3(alist)
[1, 2, 3, 4, 5, 6, 7]
id(alist)
2156977133888
Τάσος_Χατζηπαπαδόπουλος
Κύριε δεν έχω internet
http://users.sch.gr/chatzipap/

polikarpos

Πολύ σωστά.
ασκήσεις πάνω στο θέμα υπάρχουν στο παρακάτω κουίζ στο Moodle
Quiz Ασκήσεις - Παράμετροι συναρτήσεων ΙΙ

Όπου βρίσκονται και αναλυτικές οδηγίες

Σημείωση Βιβλίου: Όταν οι παράμετροι περνάνε με αναφορά, σημαίνει ότι αν αλλάξουμε μια παράμετρο μέσα στη συνάρτηση, η αλλαγή είναι μόνιμη και μετά την κλήση της συνάρτησης
Τι γίνεται όταν τα ορίσματα είναι λίστες.
Οι μέθοδοι  insert, append, pop και ο τελεστής += Λίστα += [στοιχείο] ) Διατηρούν την αναφορά στην αρχική λίστα με αποτέλεσμα η αλλαγή να είναι μόνιμη και μετά την κλήση της συνάρτησης.
Οι εντολές προσθήκης στοιχείων είτε στην αρχή είτε στο τέλος της λίστας
Λίστα = Λίστα + [ στοιχείο ]
Λίστα = [ στοιχείο ] + Λίστα 
όπως και η απόδοση τιμής σε μια λίστα, Λίστα =[λίστα τιμών]
δεν προσθέτουν το στοιχείο στην ήδη υπάρχουσα λίστα αλλά δημιουργούν μια νέα λίστα κάθε φορά, οπότε αλλαγές στη λίστα μέσα στη συνάρτηση, δεν επιστρέφουν στα ορίσματα ώστε να γίνουν γνωστές έξω από τη συνάρτηση.

www.sepchiou.gr
moodle.sepchiou.gr
museum.sepchiou.gr

theoni

Όταν κάνουμε ταξινόμηση σε συνάρτηση τους ταξινομημένος πίνακες δεν τους κάνουμε return??? Και απλά μέσα στο πρόγραμμα καλούμε τη συνάρτηση σωστά????αν τώρα κάποιος κάνει rerurn είναι σωστό ή λάθος????

theoni

Τελικα βάζουμε return στην ταξινόμηση όταν γίνεται σε def ή όχι???

evry

Ο κώδικας που φαίνεται στην εικόνα νομίζω ότι απαντάει στην ερώτησή σου
list.png
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

theoni