Leuteris.V.2 Δημοσ. 20 Νοεμβρίου 2020 Δημοσ. 20 Νοεμβρίου 2020 Καλησπέρα στην παρέα Πρόσφατα ξεκίνησα μαθήματα Python και έχω κολλήσει στη συγκεκριμένη άσκηση που φαίνεται στη φωτογραφία. Όταν πάω να τρέξω τον κώδικα, μου βγάζει συνέχεια NameError: name 'a' is not defined. Δεν μπορώ να καταλάβω ποιο είναι αυτό το όνομα που δεν έχω ορίσει. Πραγματικά δεν το βρίσκω πουθενά. Μήπως βλέπετε κάτι που δεν βλέπω με τα newbie μάτια μου; Σας ευχαριστώ εκ των προτέρων
FiLw Δημοσ. 20 Νοεμβρίου 2020 Δημοσ. 20 Νοεμβρίου 2020 Το a.b είναι ο συμβολισμός για το εσωτερικό γινόμενο. Δεν μπορείς να ορίσεις όνομα μεταβλητής με τελεία στη python. Όταν φτάσεις στiς κλάσεις θα καταλάβεις περισσότερα για το x.y ( στη προκειμένη a.b) και πως το "μεταφράζει" η python. Δώσε άλλο όνομα στη μεταβλητή προς το παρόν xD Spoiler Rules for Python variables: A variable name must start with a letter or the underscore character A variable name cannot start with a number A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ) Variable names are case-sensitive (age, Age and AGE are three different variables) 1
Sacadmerde Δημοσ. 20 Νοεμβρίου 2020 Δημοσ. 20 Νοεμβρίου 2020 Το πρόβλημα είναι στην γραμμή 7, όπου έχεις: a.b = (a1*b1) + (a2 * b2) Αυτό είναι προβληματικό, γιατί λες: `a.`b: Το μέλος `b` του `a` `=`: θα πάρει την τιμή `(a1 * b1) + (a2 + b2)`: H πράξη του αθροίσματος δύο γινομένων Με την τελεία `.`, η Python προσπελαύνει μέλη του αντικειμένου. Πριν αναρωτηθείς "ποιο αντικείμενο", στην Python τα πάντα είναι αντικείμενα... τα πάντα όλα (όχι όπως στην Java που έχει Int και int). Δηλαδή, ακόμα και `a = 1` να κάνεις, το `a` είναι αντικείμενο. Με το να βάλεις την τελεία, `a.b`, λες στην Python να πάρει το μέλος `b` από το αντικείμενο `a`. 1
Leuteris.V.2 Δημοσ. 20 Νοεμβρίου 2020 Μέλος Δημοσ. 20 Νοεμβρίου 2020 (επεξεργασμένο) 23 λεπτά πριν, FiLw είπε Το a.b είναι ο συμβολισμός για το εσωτερικό γινόμενο. Δεν μπορείς να ορίσεις όνομα μεταβλητής με τελεία στη python. Όταν φτάσεις στiς κλάσεις θα καταλάβεις περισσότερα για το x.y ( στη προκειμένη a.b) και πως το "μεταφράζει" η python. Δώσε άλλο όνομα στη μεταβλητή προς το παρόν xD Εμφάνιση κρυμμένου περιεχομένου Rules for Python variables: A variable name must start with a letter or the underscore character A variable name cannot start with a number A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ) Variable names are case-sensitive (age, Age and AGE are three different variables) 9 λεπτά πριν, Sacadmerde είπε Το πρόβλημα είναι στην γραμμή 7, όπου έχεις: a.b = (a1*b1) + (a2 * b2) Αυτό είναι προβληματικό, γιατί λες: `a.`b: Το μέλος `b` του `a` `=`: θα πάρει την τιμή `(a1 * b1) + (a2 + b2)`: H πράξη του αθροίσματος δύο γινομένων Με την τελεία `.`, η Python προσπελαύνει μέλη του αντικειμένου. Πριν αναρωτηθείς "ποιο αντικείμενο", στην Python τα πάντα είναι αντικείμενα... τα πάντα όλα (όχι όπως στην Java που έχει Int και int). Δηλαδή, ακόμα και `a = 1` να κάνεις, το `a` είναι αντικείμενο. Με το να βάλεις την τελεία, `a.b`, λες στην Python να πάρει το μέλος `b` από το αντικείμενο `a`. Σας ευχαριστώ πολύ παιδιά. Όντως αυτό έφταιγε. Τώρα όμως μου βγάζει αυτό στη 12η γραμμή AttributeError: 'float' object has no attribute 'b' Καμιά ιδέα, πως να το ξεπεράσω; Επεξ/σία 20 Νοεμβρίου 2020 από Leuteris.V.2
FiLw Δημοσ. 20 Νοεμβρίου 2020 Δημοσ. 20 Νοεμβρίου 2020 (επεξεργασμένο) Το άλλαξες και από τα δύο σημεία το a.b ?? ανέβασε ή φώτο ή copy-paste κώδικα Επιπλέον κοίταξε καλύτερα τους τύπους και πως τους έχεις περάσει στο κώδικα. Δεν βλέπεις σφάλμα κατά την εκτέλεση αλλά στο τέλος θα αναρωτιέσαι γιατί δν βγαίνει σωστά(λογικό σφάλμα) Επεξ/σία 20 Νοεμβρίου 2020 από FiLw 1
Leuteris.V.2 Δημοσ. 20 Νοεμβρίου 2020 Μέλος Δημοσ. 20 Νοεμβρίου 2020 Πωω έχεις δίκιο. Δεν είχα αλλάξει το a.b στην δεύτερη πράξη. Τωρα μου το ολοκληρώνει κανονικά. Σόρρυ αλλά είμαι τέρμα noob . Προχθές ξεκίνησα. Σε ευχαριστω και πάλι για τη βοήθεια.
FiLw Δημοσ. 20 Νοεμβρίου 2020 Δημοσ. 20 Νοεμβρίου 2020 Καλή αρχή και have fun (όταν φτάνεις σε σημείο alert απλά χαλάρωσε λίγη ώρα και πιάστο αργότερα με καθαρότερο μυαλό-μάτι)😉
k33theod Δημοσ. 21 Νοεμβρίου 2020 Δημοσ. 21 Νοεμβρίου 2020 Προσοχή γιατί έχεις λάθος και στις υλοποιήσεις του μέτρου των διανυσματών με συνέπεια να έχεις λάθος και στον υπολογισμό του cos. Και ο υπολογισμός σε μοίρες είναι λάθος στη βάση του
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα