麻烦使用python 3.6

时间:2017-09-14 21:53:49

标签: python-3.x numpy anaconda spyder

我正在尝试创建一个允许用户输入数字的脚本,然后使用这些数字来创建指数。这就是我在写的东西。我在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并得到上面的错误。

1 个答案:

答案 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.]