我想画一个K点星,其中K是经过用户的。你知道吗
我尝试过turtle
,但不起作用:
import turtle
def star(turtle,n,d):
sum=0
for i in range(n):
angle=180.0-180.0/n
turtle.forward(d)
turtle.right(angle)
turtle.forward(d)
sum=sum+d
print("Area is",sum)
k=input()
star(200,k,4)
Traceback (most recent call last):
File "kpoint.py", line 12, in <module>
star(200,k,4)
File "kpoint.py", line 4, in star
for i in range(n):
TypeError: 'str' object cannot be interpreted as an integer
您的错误是
str
类型不能解释为int
。input()
函数返回一个str
类型。可以通过使用int()
函数将str
类型转换为int
来解决此问题。这样做:k = int(input())
更改:
收件人:
是必需的,但不足以运行此代码。其他问题包括:
对
star()
的调用参数与其声明的参数不匹配 参数。(即200
不是一只海龟)你的
sum
计算面积是一厢情愿的。这段代码只能处理奇数值
k
。angle
可以在循环之前作为该循环中的nothing进行计算 计算更改。把这些放在一起,我们得到:
相关问题 更多 >
编程相关推荐