import turtle n=int(input("请输入一个3-12之内的数:"): turtle.color("black","yellow") turtle.begin_fill() for i in range(n/2): turtle.forward(80) turtle.left((n-2)*180/n) turtle.end_fill() turtle.done()完善改程序
时间: 2024-03-25 22:42:14 浏览: 56
好的,我来完善一下你的程序,有以下几点需要修改:
1. `n` 是输入的一个整数,应该用 `int()` 函数将输入的字符串转换为整数类型。
2. `range()` 函数的参数必须是整数类型,如果 `n` 是偶数,循环次数应该是 `n//2`,如果 `n` 是奇数,循环次数应该是 `(n-1)//2`。
3. 在绘制多边形之前,应该将画笔移动到正确的位置,可以先画一个正多边形,然后再旋转画笔到正确的位置。
4. 程序中缺少对输入值的判断,应该在输入之前先判断输入值是否在 3 到 12 之间。
下面是完善后的程序:
```
import turtle
n = int(input("请输入一个3-12之内的整数:"))
if n < 3 or n > 12:
print("输入值不在范围内!")
else:
turtle.color("black","yellow")
turtle.begin_fill()
turtle.penup()
turtle.goto(0, -80)
turtle.pendown()
for i in range(n//2):
turtle.forward(80)
turtle.left((n-2)*180/n)
turtle.end_fill()
turtle.done()
```
这个程序能够绘制一个黄色的正 n 边形(n 为偶数),其中一个边平行于 x 轴,两个相邻的顶点距离为 80。如果输入的值不在 3 到 12 之间,程序会输出一条错误信息。
阅读全文