Python numpy中的变量赋值不起作用?

Python numpy中的变量赋值不起作用?,python,numpy,Python,Numpy,我刚刚开始学习如何编写代码,所以这似乎是一个愚蠢的问题,但我正在尝试构建一个简单的程序,在这个程序中,计算机生成一个随机数,用户只有一次机会将其正确 但是,程序总是被这个变量卡住: number=np.random.randint(低=1,高=10,大小=1) 我不知道这个函数是否可以作为变量(它自己工作,但分配给“number”时不起作用),但每当我运行它时,它就会出现: File "/Users/User/Desktop/Python/App.py", line 4, in <mo

我刚刚开始学习如何编写代码,所以这似乎是一个愚蠢的问题,但我正在尝试构建一个简单的程序,在这个程序中,计算机生成一个随机数,用户只有一次机会将其正确

但是,程序总是被这个变量卡住:

number=np.random.randint(低=1,高=10,大小=1)

我不知道这个函数是否可以作为变量(它自己工作,但分配给“number”时不起作用),但每当我运行它时,它就会出现:

  File "/Users/User/Desktop/Python/App.py", line 4, in <module>
    print("The number was " + number)
numpy.core._exceptions.UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('<U21'), dtype('<U21')) -> dtype('<U21')```
文件“/Users/User/Desktop/Python/App.py”,第4行,在
打印(“编号为”+编号)

numpy.core.\u exceptions.ufunctype错误:ufunc“add”不包含具有签名匹配类型(dtype)的循环(“您正在尝试将字符串与
numpy ndarray
您需要将数字转换为字符串

>>> number = np.random.randint(low=1, high=10, size=1)
>>>
>>> print("test " + number)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U11') dtype('<U11') dtype('<U11')
>>>
>>> print("test" + str(number))
test[8]
>number=np.random.randint(低=1,高=10,大小=1)
>>>
>>>打印(“测试”+编号)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在

TypeError:ufunc“add”不包含签名类型与dtype匹配的循环(“这里有两个问题。首先,
number
不是一个int,而是一个包含int的Numpy数组。如果省略
size
参数,它将为您提供一个int

number = np.random.randint(low=1, high=10)
其次,您试图添加一个带有Numpy数组的字符串,这将不起作用。添加字符串和int时也是如此(
TypeError:无法隐式地将“int”对象转换为str
)。因此,不要添加,而是将
number
作为单独的参数添加到
print
中,它将自动转换为字符串并用空格分隔

print("The number was", number)
另外,当您可以使用标准库中的
random
模块时,Numpy在这里也太过了。令人困惑的是,
np.random.randint
似乎等同于
random.randrange
,而不是
random.randint

import random
number = random.randrange(1, 10)