条件、循环、函数定义 练习

本文通过具体实例介绍了如何使用Python的turtle模块绘制各种图形,包括五角星、同心圆、太阳花等,展示了for循环、while循环及函数定义的应用。

1.注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。2.对前面的代码进行优化,用for,while,if,def实现

A.画五角星

>>> import turtle
>>> turtle.color('yellow')
>>> turtle.bgcolor('red')
>>> turtle.hideturtle()
>>> turtle.beginfill()
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    turtle.beginfill()
AttributeError: module 'turtle' has no attribute 'beginfill'
>>> turtle.begin_fill()
>>> turtle.forward(99)
>>> turtle.right(144)
>>> turtle.forward(99)
>>> turtle.right(144)
>>> turtle.forward(99)
>>> turtle.right(144)
>>> turtle.forward(99)
>>> turtle.right(144)
>>> turtle.forward(99)
>>> turtle.end_fill()

B.画同心圆

import turtle

for i in range(5):
    turtle.up()
    turtle.goto(0,-25*(i+1))
    turtle.down()
    turtle.circle(25*(i+1))

C.画太阳花

import turtle
turtle.pensize(3)
turtle.pencolor("red")
turtle.fillcolor("yellow")
turtle.begin_fill()
while True:
    turtle.forward(300)
    turtle.left(150)
    if(abs(turtle.pos()))<1:
        break
turtle.end_fill()
turtle.hideturtle()

D.画五个五角星

import turtle
turtle.bgcolor('red')

def m_goto(x,y):
    turtle.up()
    turtle.goto(x,y)
    turtle.down()

def m_draw(r):
    turtle.pencolor('yellow')
    turtle.fillcolor('yellow')
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(r)
        turtle.right(144)
    turtle.end_fill()

m_goto(-350,180)
m_draw(150)


m_goto(-175,250)
turtle.left(50)
m_draw(50)

m_goto(-100,173)
turtle.left(44)
m_draw(50)

m_goto(-70,80)
turtle.left(50)
m_draw(50)

m_goto(-130,50)
turtle.left(50)
m_draw(50)

turtle.hideturtle()
turtle.done()

E.画菱形花瓣的太阳花

import turtle
turtle.speed(12)
turtle.fillcolor("yellow")
turtle.pencolor("red")
turtle.begin_fill()
def draw_leng():
    for i in range(1,3):
        turtle.forward(75)
        turtle.right(45)
        turtle.forward(75)
        turtle.right(135)

for i in range(1,37):
    draw_leng()
    turtle.right(10)
turtle.end_fill()
turtle.right(90)
turtle.forward(300)

turtle.hideturtle()

 

转载于:https://www.cnblogs.com/xiepingjian/p/7516125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值