我正在尝试创建一个允许用户输入数字的脚本,然后使用这些数字来创建指数。这就是我在写的东西。我在python 3.6并使用anaconda / spyder。
print ("Enter number x: ")
x = input()
print ("Enter number y: ")
y = input()
import numpy
numpy.exp2([x,y])
所以我想要的是让用户输入x的值。例如2.然后输入y的值。例如3.然后我想(在numpy的帮助下)创建指数2 ** 3等于8.而不是我得到它。
Enter number x:
2
Enter number y:
3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/anaconda/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 880, in runfile
execfile(filename, namespace)
File "/anaconda/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "/Users/Ameen/Desktop/assignment1.py", line 16, in <module>
numpy.exp2([x,y])
TypeError: ufunc 'exp2' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
我尝试打印('x y'),但打印x y。所以我遇到了这个网站https://docs.scipy.org/doc/numpy/reference/generated/numpy.exp2.html#numpy.exp2他们建议使用np.exp2。当我尝试np.exp2([x ** y])时,它说没有定义np,并且有一条错误消息说没有导入numpy库。所以现在我正在尝试numpy.exp2并得到上面的错误。
答案 0 :(得分:1)
将字符串转换为整数:
import numpy
print('Enter number x:')
x = int(input())
print('Enter number y:')
y = int(input())
print(numpy.exp2([x, y])) #=> [ 4. 8.]