Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)
3 ώρες πριν, sacafoutre είπε

Απλά βάζεις return στο τέλος. Τροποποίωντας λίγο την αρχική ανάρτηση: 



import statistics as st

def squares(*args):
    mean_val = st.mean(args)
    
    for i in args:
        yield (i-mean_val)**2
    
    return
        
for k in squares(3,4,5):
    print(k)

 

Αυτό που με προβληματίζει είναι η διατύπωση της άσκησης 

" αν η squares χρησιμοποιεί σωστά και τη return"

μου δίνει την εντύπωση ότι μπορεί να χρησιμοποιηθεί σε κάποια θέση της άσκησης όπου

θα καλύπτει καποια περίπτωση η οποία δεν είναι προφανής με την πρώτη ματιά.

Στο τέλος της def , δεν είναι λάθος αλλά δεν είναι και απαραίτητη. 

Έτσι δεν είναι ή κάνω λάθος;

Υ.Γ. εκτός και αν όπως ανάφερε παραπάνω ο pmav99 είναι απλά "Syntactic sugar".

 

Επεξ/σία από hoannis
  • 2 εβδομάδες αργότερα...
Δημοσ. (επεξεργασμένο)

Και με έναν αριθμό ο κώδικας δουλευει , βγάζει αποτέλεσμα μηδέν.

Δείξε μας με κώδικα τι ακριβώς εννοείς , μήπως δεν κατάλαβα καλά τι γράφεις.

Επεξ/σία από hoannis
Δημοσ.

Ναι ο κώδικας δουλεύει αλλά δεν χρειάζεται να κάνει την πράξη για να δουλέψει. Επίσης καλό είναι δεις και την περίπτωση που δεν δοθεί παράμετρος.

Νομίζω δεν είναι σωστό να γράψω την απάντηση τώρα. Την Δευτέρα όταν λήξει το πρόγραμμα θα την γράψω.

Δημοσ.
13 hours ago, BlueBlood7 said:

Επίσης καλό είναι δεις και την περίπτωση που δεν δοθεί παράμετρος.

Εννοείται ότι κανονικά πρέπει να κάνεις input validation και error handling αλλά σύμφωνα με την εκφώνηση:

Quote

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

 

Δημοσ.
4 ώρες πριν, pmav99 είπε

Εννοείται ότι κανονικά πρέπει να κάνεις input validation και error handling αλλά σύμφωνα με την εκφώνηση:

 

Το έγραψα για να τον βοηθήσει πως και που πρέπει να γράψει τη return.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...