新手刚打的太阳花和玫瑰花!!!

本人新人小白,这学期刚刚开始学Python,今天写篇博客记录一下这两周的小成就(欢迎各位大佬指正)

这两周学了用Python和turtle画一朵玫瑰花和太阳花

首先是太阳花

课本上是一朵红黄相间的,我画了两朵在一个画布上,颜色可以根据你的喜好自己改哈

以下是这两朵太阳花的代码

from turtle import*
import turtle
color('blue','yellow')
turtle.pensize(3)
begin_fill()
while True:
forward(300)
left(170)
if abs(pos())<1:
break
turtle.penup()
turtle.fd(-300)
turtle.pendown()
turtle.pencolor("green")
turtle.pensize(2)
for i in range(36):
forward(100)
left(170)
end_fill()
done()

第一次写Python代码,从课本上的一朵变成两朵还是有点小激动,玫瑰花的实现比这个难度大一点

玫瑰花的代码如下:

from turtle import *
#global pen and speed
pencolor("black")
fillcolor("blue")
speed(50)/*运行速度*/
s=0.15
#init poistion
penup()
goto(0,600*s)
pendown()
begin_fill()
circle(200*s,30)
for i in range(60):
lt(1)
circle(50*s,1)
circle(200*s,30)
for i in range(4):
lt(1)
circle(100*s,1)
circle(200*s,50)
for i in range(50):
lt(1)
circle(50*s,1)
circle(350*s,65)
for i in range(40):
lt(1)
circle(70*s,1)
circle(150*s,50)
for i in range(20):
rt(1)
circle(50*s,1)
circle(400*s,60)
for i in range(18):
lt(1)
circle(50*s,1)
fd(250*s)
rt(150)
circle(-500*s,12)
lt(140)
circle(550*s,110)

lt(27)
circle(650*s,100)
lt(130)
circle(-300*s,20)
rt(123)
circle(220*s,57)
end_fill()
lt(120)
fd(280*s)
lt(115)
circle(300*s,33)
lt(180)
circle(-300*s,33)
for i in range(70):
rt(1)
circle(225*s,1)
circle(350*s,104)
lt(90)
circle(200*s,105)
circle(-500*s,63)
penup()
goto(170*s,-330*s)
pendown()
lt(160)
for i in range(20):
lt(1)
circle(2500*s,1)
for i in range(220):
rt(1)
circle(250*s,1)
fillcolor('green')
penup()
goto(670*s,-480*s)
pendown()
rt(140)
begin_fill()

circle(300*s,120)
lt(60)
circle(300*s,120)
end_fill()
penup()
goto(180*s,-850*s)
pendown()
rt(85)
circle(600*s,40)
penup()
goto(-150*s,-1300*s)
pendown()
begin_fill()
rt(120)
circle(300*s,115)
lt(75)
circle(300*s,100)
end_fill()
penup()
goto(430*s,-1370*s)
pendown()
rt(30)
circle(-600*s,35)
done()

代码有点长啊,打起来很累,不过结果出来还是不错的,就是运行时间有点长,可以改一下运行速度

以上两种花就是这两周的小成就,下次打算弄个小猪佩琪练练,期待ing

Ps:如果代码有雷同,请见谅,我还是个新手,总是免不了网上借鉴参考,原博主不要投诉拉黑我呦

原文地址:https://www.cnblogs.com/gyy-15768200938/p/10527166.html