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

Άσκηση Python


rs16206

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

Στις 6/4/2020 στις 1:33 ΠΜ, dovecotDev είπε

Αν και δεν είναι σωστό να σου λύνουν τα μαθήματα, γιατί εσύ δεν θα μάθεις αυτά που πρέπει...

Επισυνάπτω μια βρώμικη και γρήγορη λύση... δεν έχω ηδέα αν είναι σωστή :)

parse.zip 938 B · 18 downloads

Στη λύση που δίνεις, πως μπορούμε να μορφοποιήσουμε την τυπική απόκλιση να εγγράφεται μέσα στο αρχείο με ακρίβεια τριών δεκαδικών ψηφίων?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 38
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

1 ώρα πριν, becoming_I είπε

Συγκεκριμένα


output = ["Τυπική απόκλιση = {:.3f}".format(ta)] 

Ευχαριστώ πολύ!

Αυτό που είχα γράψει πιο πάνω με τη round(), "τρέχει" ως: output = ['Τυπική απόκλιση = { }'.format(round(ta,3))]

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@lektikos

minor nitpick: Η διαφορα είναι ότι η μέθοδος format παίρνει ένα αριθμό ως input και τον τυπώνει σύμφωνα με τα format specifiers. Δεν δημιουργεί δηλαδή καινούριο float. H round() πάλι είναι συνάρτηση και επιστρέφει ένα νέο float. Αυτό, εκτός του ότι είναι inefficient, είναι και semantically wrong. Αφού αυτό που θες να κάνεις είναι απλά να εμφανίσεις το αποτέλεσμα, το σωστό είναι να χρησιμοποιήσεις τα format specifiers. Όχι ότι η round δεν δουλεύει, αλλά δεν είναι αυτό το πλαίσιο χρησιμοποίησής της.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 11/4/2020 στις 1:43 ΜΜ, pmav99 είπε

@lektikos

minor nitpick: Η διαφορα είναι ότι η μέθοδος format παίρνει ένα αριθμό ως input και τον τυπώνει σύμφωνα με τα format specifiers. Δεν δημιουργεί δηλαδή καινούριο float. H round() πάλι είναι συνάρτηση και επιστρέφει ένα νέο float. Αυτό, εκτός του ότι είναι inefficient, είναι και semantically wrong. Αφού αυτό που θες να κάνεις είναι απλά να εμφανίσεις το αποτέλεσμα, το σωστό είναι να χρησιμοποιήσεις τα format specifiers. Όχι ότι η round δεν δουλεύει, αλλά δεν είναι αυτό το πλαίσιο χρησιμοποίησής της.

Σ' ευχαριστώ πολύ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 8 μήνες μετά...

Παρακάτω είναι η άσκηση όπως την παρέδωσα εγώ σήμερα, 

παρακαλώ όποιος έχει την καλή διάθεση ας κάνει τις παρατηρησεις του 

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

 

#Εισάγουμε την statistics για να χρησιμοποιήσουμε τις mean για να βρούμε τον
#μέσο όρο και την stdev  για την τυπική αποκλιση
import statistics

# Ανοίγουμε το αρχειο και περνάμε τα στοιχεια στην λιστα grammi
with open("inputdata.txt",'r') as data:
    grammi=data.readlines()

#στην λιστα μας όμως τα στοιχεία έχουν τον χαρακτήρα \n στο τέλος π.χ. αντί για 1.5 έχει 1.5\n

#Βγάζουμε τον χαρακτήρα \n από τα στοιχεία της λίστας
for i in range (0,len(grammi),1):
    n =len(grammi[i])-1 #το n είναι όσο το μήκος του στοιχειου grammi[i] μειον ένα (άρα μειον τον χαρακτήρα
                                    # \n
    num=grammi[i]       #το grammi[i] το περνάμε σε ένα string num 
    num = num[0:n]      # και κόβουμε τον τελευταίο χαρακτήρα (δλδ [0 έως n] όπου n = len(grammi)-1
    grammi[i] = float(num)  #μετατρέπουμε τα string σε float και αποθηκεύουμε στην λιστα 



mesos_oros=statistics.mean(grammi)      #Βρίσκουμε τον μέσο όρο
apoklisi=statistics.stdev(grammi)               #Βρίσκουμε την τυπική απόκλιση


#ανοίγουμε το αρχειο για εγγραφή
with open("outputdata.txt",'w') as out:
    out.write ("Μέσος όρος = " + str(round(mesos_oros,3)) +"\n")    #αποθηκεύουμε τον μέσο όρο 
    out.write ("Τυπική απόκλιση = " + str(round(apoklisi,3)) + "\n")   #αποθηκεύουμε την τυπική απόκλιση
    

Ευχαριστώ.
    
 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σοκ και δέος!

Οι γνώσεις μου στην Python είναι

ένα διαδικτυακό μάθημα https://colmooc.gunet.gr/info/?course=COLMOOC116 (αυτή είναι η άσκηση της τελευταίας ενότητας)

και ότι έμαθα έως τώρα στο Εσπερινό ΕΠΑΛ (Γ λυκείου φέτος).

Στον κώδικα που μου δίνεις βλέπω "μία άλλη" Python.

Δεν μπορώ να περιγράψω αλλιώς αυτό που αισθάνομαι.

Ευχαριστώ  για τον κώδικα , ώρα για να ξεκινήσω να μαθαίνω και αυτή την "άλλη" Python.

Καμία πρόταση πως να ξεκινήσω; Κάποιο site ή ebook ή κάτι που θεωρείς ότι θα με βοηθήσει;

 

** μη δείτε Γ ΕΠΑΛ και νομίζετε ότι είναι 17-18 , 50 χρονών είμαι.

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

  • Δημιουργία νέου...