Python 圆绘图程序

Python 圆绘图程序,python,string,int,geometry,Python,String,Int,Geometry,我试图制作一个程序,使用用户输入的半径和中心坐标绘制一个圆。这就是我目前所拥有的 import numpy as np import matplotlib.pyplot as plt def circle(r,h,k,domain): x = np.array(domain) y = eval(np.sqrt(r**2 - (x-h)**2) + k) plt.plot(x,y) plt.show rad = input("Radius: ") xcen = i

我试图制作一个程序,使用用户输入的半径和中心坐标绘制一个圆。这就是我目前所拥有的

import numpy as np
import matplotlib.pyplot as plt
def circle(r,h,k,domain):
    x = np.array(domain)
    y = eval(np.sqrt(r**2 - (x-h)**2) + k)
    plt.plot(x,y)
    plt.show

rad = input("Radius: ")
xcen = int(input("Center X Coordinate: "))
ycen = int(input("Center Y Coordinate: "))

circle(rad,xcen,ycen,np.linspace(-10,10,500))
print("Done")
当我运行它时,我得到一个关于行
y=eval(np.sqrt(r**2-(x-h)**2)+k)

半径:5
中心X坐标:0
中心Y坐标:0
回溯(最近一次呼叫最后一次):
文件“/Users/William/Documents/Science/PYTHON3/Circle.py”,第13行,在
圆(rad、xcen、ycen、np.linspace(-10,10500))
文件“/Users/William/Documents/Science/PYTHON3/Circle.py”,第5行,圆圈中
y=评估(np.sqrt(r**2-(x-h)**2)+k)
TypeError:不支持**或pow()的操作数类型:'str'和'int'
>>> 
这是什么意思?为什么说
str
int
不能与
**

rad = input("Radius: ")
在Python3.X中,
input
返回的结果是一个字符串。然后,该字符串被传递到
圆圈
,您尝试将其平方。但是你不能把一根线弄成正方形

使用前将
rad
转换为数字

rad = float(input("Radius: "))
在Python3.X中,
input
返回的结果是一个字符串。然后,该字符串被传递到
圆圈
,您尝试将其平方。但是你不能把一根线弄成正方形

使用前将
rad
转换为数字

rad = float(input("Radius: "))
在Python3.X中,
input
返回的结果是一个字符串。然后,该字符串被传递到
圆圈
,您尝试将其平方。但是你不能把一根线弄成正方形

使用前将
rad
转换为数字

rad = float(input("Radius: "))
在Python3.X中,
input
返回的结果是一个字符串。然后,该字符串被传递到
圆圈
,您尝试将其平方。但是你不能把一根线弄成正方形

使用前将
rad
转换为数字

rad = float(input("Radius: "))

“为什么它说
str
int
不能与
***
一起使用”-那么你希望
'foo'**3
产生什么呢?“为什么它说
str
int
不能与
***
一起使用”-那么你希望
'foo'**3
产生什么呢?“为什么它说
str
int
不能与
**
一起使用”-那么你希望
'foo'**3
产生什么呢?”为什么它说
str
int
不能与
**/code>一起使用“-那么您希望
'foo'**3
产生什么?我可以在3.X中仍然使用int还是float更好?您可以使用
int
,但用户将无法输入像“1.5”这样的分数半径。我可以在3.X中仍然使用int还是float更好?您可以使用
int
,但是用户将无法输入像“1.5”这样的分数半径。我仍然可以在3.X中使用int还是float更好?您可以使用
int
,但用户将无法输入像“1.5”这样的分数半径。我仍然可以在3.X中使用int还是float更好?您可以使用
int
,但是用户不能输入像“1.5”这样的分数半径。