python画五角星和六角星程序_Python绘制五角星等能一笔画出的角星

importmathimportturtle as t#这种方法只能画只在尖角处转向就可以画出的角星,\#即可以用等长线段(线段长度为不转弯的最大)不提笔画完的角星\#如注释吊28,29行,则偶数角数变为原来2倍,证明此方法只能画奇数和4的整数倍的角星\#即只有奇数和4的整数倍的角星才能一笔画出

defloop(r,n):

t.fd(ol(r,n))

t.right(180-360/(2*n))defol(r,n):

na= (360/(4*n)) / 180 *math.pi

ol= r * math.cos(na) * 2ol=int(round(ol))returnoldefrelocation(r,n):

t.penup()

t.left(90)

t.fd(r)

t.right(180 - 360/(4*n))

t.pendown()defmain(r,n):

times=nif n==1 or n==2:print('error input')

exit()elif n%2==1:print('开始绘制...')elif n%2==0:

n/=2

if n%2==1:print('无法一笔画出{0:.0f}角星'.format(times))

exit()else:print('开始绘制...')else:print('error input')

exit()

relocation(r,n)for i inrange(times):

loop(r,n)

t.penup()

t.goto(0,0)

t.seth(0)

t.pendown()

r=200n=eval(input('请输入要绘制的角星的角数n,n需是>=3的整数:')) #eval()函数很重要,不要总忘记加!!!

t.pensize(8) #注意t.pensize(20)不是t.pensize=20,变量赋值采用=,属性更改用t.pensize(20)

t.color('green')

t.speed(10)

t.setup(450,450)

main(r,n)

t.done()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值