Python 画一个“;k形尖头&x201D;星号所在位置“;k”;由用户传递给程序
我想画一个K点星,其中K是经过用户的 我试过使用Python 画一个“;k形尖头&x201D;星号所在位置“;k”;由用户传递给程序,python,python-3.x,turtle-graphics,Python,Python 3.x,Turtle Graphics,我想画一个K点星,其中K是经过用户的 我试过使用海龟,但不起作用: 导入海龟 def star(乌龟,北,北): 总和=0 对于范围(n)中的i: 角度=180.0-180.0/n 乌龟。前进(d) 乌龟。右(角) 乌龟。前进(d) sum=sum+d 打印(“面积为”,总和) k=输入() 星型(200,k,4) 回溯(最近一次呼叫最后一次): 文件“kpoint.py”,第12行,在 星型(200,k,4) 文件“kpoint.py”,第4行,星形 对于范围(n)中的i: TypeErro
海龟
,但不起作用:
导入海龟
def star(乌龟,北,北):
总和=0
对于范围(n)中的i:
角度=180.0-180.0/n
乌龟。前进(d)
乌龟。右(角)
乌龟。前进(d)
sum=sum+d
打印(“面积为”,总和)
k=输入()
星型(200,k,4)
回溯(最近一次呼叫最后一次):
文件“kpoint.py”,第12行,在
星型(200,k,4)
文件“kpoint.py”,第4行,星形
对于范围(n)中的i:
TypeError:“str”对象不能解释为整数
您的错误是,str
类型不能解释为int
。input()
函数返回一个str
类型。您可以通过使用int()
函数将str
类型转换为int
来解决此问题。这样做:
k=int(input())
更改:
k = input()
致:
是必需的,但不足以运行此代码。其他问题包括:
的调用参数与其声明的 参数。(也就是说,star()
不是海龟。)200
- 你的
计算面积是一厢情愿sum
- 此代码仅适用于奇数值
k
可以在循环之前计算,因为在循环中没有任何值 计算更改角度
import turtle
def star(n, d):
angle = 180 - 180 / n
for i in range(n):
turtle.forward(d)
turtle.right(angle)
turtle.forward(d)
k = int(input("Points (odd number): "))
star(k, 200)
turtle.done()
您想通过
k=int(input())
将input()
解析为int,您需要将输入解析为整数才能将其用作整数,例如使用int(input())
import turtle
def star(n, d):
angle = 180 - 180 / n
for i in range(n):
turtle.forward(d)
turtle.right(angle)
turtle.forward(d)
k = int(input("Points (odd number): "))
star(k, 200)
turtle.done()