εφόσον ο τελεστής / όταν οι αριθμοί είναι ακέραιοι κάνει ακέραια διαίρεση, αν θέλουμε να υπολογίσουμε μέσο όρο ή ποσοστό πρέπει να δηλώνουμε κάποια μεταβλητή float, ώστε να μην κάνει ακέραια διαίρεση;
πχ.
μο = αθροισμα/float(πληθος)
ναι αλλά μπορείς να κάνεις και αυτό
sum = 0.0 # αν ο πρώτος είναι float τότε όλοι θα είναι float
for i in range(N):
sum += i
avg = sum / N
ή και αυτό
......
avg = (sum + 0.0) / N
Στην Python 3.5.1 ο τελεστής / δεν παράγει απαραίτητα ακέραιο αποτέλεσμα. Στην πράξη 5/2 θα πάρεις αποτέλεσμα 2.5
Το μάθημα είναι στην Python 2
Τότε γιατί στη σελίδα του ΙΕΠ στο υποστηρικτικό υλικό το βιβλίο περιγράφει όλα τα παραδείγματα στην Python 3? Υπάρχει κάποιο οδηγία που λέει ότι μαθαίνουμε την python 2;
σε ποιο μάθημα αναφέρεσαι?
μιλάω για τα μαθήματα αρχές προγραμματισμού της Β και Γ ΕΠΑΛ.
Αναφέρομαι στα σχολικά βιβλία που είναι σε Python 2.
Στο ίδιο μάθημα αναφέρομαι, απλά λέω ότι στη σελίδα του ιεπ έχουν αναρτήσει ένα βιβλίο με τίτλο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ ΤΗΝ PYTHON το οποίο αναφέρεται στην python 3 και εξηγεί τη χρήση του τελεστή / ότι παράγει και δεκαδικό καθώς και τη χρήση του // ότι παράγει ακέραιο. Καταλαβαίνω ότι ακολουθούμε πιστά το τι λέει το βιβλίο. Απλά περίμενα ότι αφού βγάζουν καινούριο βιβλίο θα αναφέρονταν στην τελευταία έκδοση της python. Ευχαριστώ για την απάντηση σου
Δίκιο έχεις, δεν ξέρω πως μπήκε εκεί αφού αναφέρεται σε άλλη έκδοση της γλώσσας.
Επίσης το βιβλίο αν παρατήρησες αναφέρεται στην Β ΕΠΑΛ ως υποστηρικτικό υλικό και όχι στη Γ.
Οπότε ακολουθούμε τα σχολικά βιβλία για να μην μπλέξουμε με λεπτομέρειες μεταξύ των δυο εκδόσεων ;)
Πάντως και στο μάθημα γενικής παιδείας "Εισαγωγή στην Επιστήμη των Η/Υ" η έκδοση 2 ακολουθείται.
ΥΓ. Η τελευταία έκδοση της Python είναι η 2.7.12. Η έκδοση 2 δεν έχει μείνει στάσιμη, εξελίσσεται και αυτή ;)
Παράλληλα εξελίσσεται και η 3.
Παράθεση από: evry στις 29 Οκτ 2016, 05:42:39 ΜΜ
ΥΓ. Η τελευταία έκδοση της Python είναι η 2.7.12. Η έκδοση 2 δεν έχει μείνει στάσιμη, εξελίσσεται και αυτή ;)
Παράλληλα εξελίσσεται και η 3.
Ευριπίδη, χωρίς να έχω κανέναν απολύτως σκοπό να μπω σε κάποιο debate σχετικά με τις δύο εκδόσεις της Python, δεν μπορεί κανείς να μιλήσει για εξέλιξη της 2 ή για παράλληλη εξέλιξη των δύο εκδόσεων. Το documentation είναι ξεκάθαρο:
Python 2.7 is the last major release in the 2.x series, as the Python maintainers have shifted the focus of their new feature development efforts to the Python 3.x series. This means that while Python 2 continues to receive bug fixes, and to be updated to build correctly on new hardware and versions of supported operated systems, there will be no new full feature releases for the language or standard library.
Ναι σωστά, το εξέλιξη ήταν λάθος λέξη. Εννοούσα ότι δεν την έχουν παρατήσει εντελώς ακόμα και όλο και κάτι διορθώνουν, διότι υπάρχει αρκετός κώδικας σε Python 2, δηλαδή ασχολούνται με αυτή και θα ασχολούνται για κάποιο καιρό ακόμα.
Λογικά κάποια στιγμή όλα θα πάνε σε Python 3.
συγγνώμη για την ενόχληση απλά ήθελα να ρωτήσω αν πρέπει να διδάξουμε και τον τελεστή / με αρνητικούς αριθμους....
πχ 5/(-3)=-2
ενώ 5/(-3.0)=-1.6666
στο σχολικο βιβλιο δεν αναφερεται κάτι τέτοιο. εγω δυστιχώς πρώτη χρονια διδάσκω python και βρήσκομαι σε πλήρη σύγχηση....
ευχαριστώ ....
Δεν υπάρχει κάποια σχετική οδηγία αν αυτό ρωτάς. Ο τελεστής δουλεύει όπως με όλους τους άλλους αριθμούς.
Άλλα δε νομίζω ότι είναι ένα σημείο που έχει νόημα να χάσεις χρόνο, ενώ παρακάτω υπάρχουν σημαντικότερα.
Επίσης αυτά οι μαθητές δεν τα έχουν ξανακούσει στην Β?
Παράθεση από: evry στις 30 Οκτ 2016, 09:41:03 ΜΜ
Επίσης αυτά οι μαθητές δεν τα έχουν ξανακούσει στην Β?
Πιθανότατα όχι!
Τι εννοείς Νίκο, δεν το κατάλαβα.
Στην Β υπάρχει μάθημα Αρχές προγραμματισμού που γίνεται σε Python 4 ώρες την εβδομάδα, άρα στην χειρότερη πρόβλεψη να πούμε 25 εβδομάδες το χρόνο?
25x4 = 100 ώρες
Αδυνατώ να πιστέψω ότι σε 100 ώρες δεν έχεις κάνει τουλάχιστον μέχρι και δομή επανάληψης, να μην πω για λίστες και αλγορίθμους.
Παράθεση από: Νίκος Αδαμόπουλος στις 31 Οκτ 2016, 02:59:20 ΜΜ
Πιθανότατα όχι!
Παράθεση από: evry στις 31 Οκτ 2016, 07:25:41 ΜΜ
Τι εννοείς Νίκο, δεν το κατάλαβα.
Στην Β υπάρχει μάθημα Αρχές προγραμματισμού που γίνεται σε Python 4 ώρες την εβδομάδα, άρα στην χειρότερη πρόβλεψη να πούμε 25 εβδομάδες το χρόνο?
25x4 = 100 ώρες
Αδυνατώ να πιστέψω ότι σε 100 ώρες δεν έχεις κάνει τουλάχιστον μέχρι και δομή επανάληψης, να μην πω για λίστες και αλγορίθμους.
Δεν είμαι σίγουρος ότι διδάχθηκε η python παντού πέρυσι!