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

  1. 注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。
  2. 对前面的代码进行优化,用for,while,if,def实现:
    1. 画五角星
    2. 画同心圆
    3. 画太阳花
    4. 画五个角星

 

import turtle

# 画五角星

for i in range(5):
    turtle.forward(100)
    turtle.right(144)

# #同心圆 从里住外
# for i in range(10):
#      turtle.up()
#      turtle.goto(0,++i*-10)
#      turtle.down()
#      turtle.circle(0+(++i*10))
#      turtle.write(10-(++i))
#
# #同心圆 从外住里
# for i in range(10):
#     turtle.up()
#     turtle.goto(0,++i*10)
#     turtle.down()
#     turtle.circle(100-(++i*10))
#     turtle.write(++i)

# # 画一个太阳花
# turtle.fillcolor('red')
# turtle.begin_fill()
# while True:
#       turtle.forward(300)
#       turtle.left(130)
#       if(abs(turtle.pos())<1):
#           break
# turtle.end_fill()

# 国旗

# 在红底下的五颗五角星
turtle.color('yellow')
turtle.fillcolor('yellow')
turtle.bgcolor('red')
def mygoto(x, y):
    turtle.up()
    turtle.goto(x, y)
    turtle.down()
def myStar(r, c):
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(r)
        turtle.right(c)
    turtle.end_fill()
def y(r,x):
    return (r**r-x**x)**0.5
mygoto(0, 0)
myStar(100, 144)

for i in range(4):
    mygoto(100*++i, y(5,100*++i))
    myStar(50, 144)

def s(a,b):
    mygoto(a,b)
    myStar(50, 144)
s(100,200)
s(40,49)
s(150,100)
s(200,200)

posted @ 2017-09-12 21:18  AllianceHacke  阅读(151)  评论(0编辑  收藏  举报