Напишите функцию под названием randomization, которая принимает в качестве входных данных положительное целое число n и возвращает A, случайный массив nx 1 Numpy - PullRequest
0 голосов
/ 17 февраля 2020

Напишите функцию под названием randomization, которая принимает в качестве входных данных положительное целое число n и возвращает A, случайный массив nx 1 numpy.

Ниже приведено то, что у меня есть, но оно не работает.

import numpy as np

def randomization(n):
    if n>0 and n==int:
        A=np.random.random([n, 1])
    print(A)
x=int(input("enter a positive number: "))
r=randomization(x)
print(r)

Если я запускаю это, я получаю сообщение "локальная переменная 'A' указана перед присваиванием".

Ответы [ 2 ]

1 голос
/ 17 февраля 2020

В дополнение к тому, что сказал Чепнер, np.random.rand ожидает измерения в качестве аргументов, а не список. То есть вы должны использовать A = np.random.rand (n, 1). Обратите внимание, что это возвращает равномерно распределенный случайный вектор. Кроме того, ваша функция не возвращает никакого значения. use - вернуть A в конце.

1 голос
/ 17 февраля 2020

Во-первых, n == int всегда будет ложным, поскольку n не является типом int. Вместо этого используйте isinstance(n, int).

Из-за этого A никогда не назначается, но затем вы вызываете print(A), как если бы ему было назначено.

...