Προς το περιεχόμενο
  • 0
Συνδεθείτε  
xsperminator

Python numpy

Ερώτηση

Δημοσ. (επεξεργασμένο)

Καλησπερα παρακολουθω ενα ονλινε μαθημα απο το πανεπιστημιο του Ελσινκι και υπαρχει η παρακατω ασκηση.

Write function vector_lengths that gets a two dimensional array of shape (n,m) as a parameter. Each row in this array corresponds to a vector. The function should return an array of shape (n,), that has the length of each vector in the input. The length is defined by the usual Euclidean norm. Don’t use loops at all in your solution. Instead use vectorized operations. You must use at least the np.sum and the np.sqrt functions. You can’t use the function scipy.linalg.norm. Test your function in the main function.

Την εχω υλοποιηση ως εξης.

#!/usr/bin/env python3

import numpy as np
import scipy.linalg

def vector_lengths(a):
    a2 = a**2
    a3 = np.sum(a2,axis=0)
    a4 = np.sqrt(a3)
    return a4

def main():
    a = np.random.rand(1,10)
    print(vector_lengths(a))
if __name__ == "__main__":
    main()

Παρολαυτα οταν το τρεχω στον αυτοματοποιημενο ελεγχο κωδικα μου βγαζει το εξης error.

Testing: part02-e14_vector_lengths
Failed: test.test_vector_lengths.VectorLengths.test_content
        Tuples differ: (1,) != (10,)

First differing element 0:
1
10

- (1,)
+ (10,)
?   +
 : Incorrect shape!

Test results: 3/4 tests passed
 75%[████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░]

Υπαρχει καποιος που να εχει ιδεα τι παιζει; Τι πρεπει να κανω;

Επεξ/σία από xsperminator

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

2 απαντήσεις σε αυτή την ερώτηση

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

  • 0

The function should return an array of shape (n,)

Άρα αν βάλεις ως input

    a = np.random.rand(3,10)

θα πρέπει να σου επιστρέψει ένα array με shape (3,)

Η υλοποίηση σου τι επιστρέφει;

Σε τέτοιου τύπου προβλήματα βολεύει πολύ να γράφεις tests. Πχ:

assert vector_lengths(np.random.rand(1, 10)).shape == (1,)
assert vector_lengths(np.random.rand(2, 10)).shape == (2,)
assert vector_lengths(np.random.rand(5, 10)).shape == (5,)

Επί της ουσίας, ο αυτοματοποιημένος έλεγχος του κώδικα τέτοιου τύπου tests τρέχει

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.