用户:小磨叽11111111111查看:1 回复:8 评论:1 创建时间:2018-12-27T10:34:03
不好意思来迟了,看到网上有教程,但是觉得自己写一遍,感觉会非常不一样。
所以,别看代码了,动手吧!
前期知识准备
1、print()打印
2、for循环
3、input()输入
4、turtle库部分画图函数
如果这些你都了解了,那么今天的教程so easy!
正式开始 ![]()
方法1:print打印
非常简单,但是需要足够的耐心❤
无图无真相,图来了
print(' * ')
print(' *** ')
print(' ***** ')
print(' ******* ')
print(' ********* ')
print(' *********** ')
print(' ************* ')
print(' *************** ')
print(' ***************** ')
print(' ******************* ')
print('*********************')
print(' | ')
小建议:代码从圣诞树的最后一行开始写,然后不断调整上面各行的空格![]()
方法2:for循环和print打印
n=0
for i in range(11,0,-1):
print(' '*i+'*'*(2*n+1)+' '*i)
n=n+1
print(' '*11+'|'+' '*11)
建议:这部分可能需要考考思考一下啦,不过方法并不唯一
这个时候可以考虑用excel的小格子帮助我们思考
这是我找到的规律:
for循环,从10开始,每次减少1,最后到0
变量n,从1开始,每次增加2,规律是2*n+1
根据找到的规律,写代码吧!
增加input,进化一下~
h = int(input('请输入圣诞树的高度(整数):'))
n=0
for i in range(h,0,-1):
print(' '*i+'*'*(2*n+1)+' '*i)
n=n+1
print(' '*h+'|'+' '*h)
小提示:
方法3:海龟画图

思(自)路(问)分(自)析(答)
Q1:画什么?
A1:树干、树叶、装饰(五角星)
Q2:怎么画?
A2:废话,用笔画(用力划掉,这种态度不能要)
A2:分别画,然后进行组装。
Q3:代码怎么写?
A3:
①导入turtle库(废话,但是重要!)
②定义函数(画五角星,画方块,颜色、大小自定义)
③使用penup()、pendown()、goto()、forward()移到指定位置画图
Q4:难吗?
A4:实话说,有一点,坐标位置需要认真计算,不过纸上画一画就搞定啦!
另外,一开始分别定义了【画绿色方块】和【画棕色方块】的函数,后来发现,它们是一个呀!设置一个颜色参数就可以了o(╥﹏╥)o
附上完整代码:
import turtle
myPen = turtle.Pen()
turtle.bgcolor('black')
myPen.speed(0)
#画五角星,颜色、大小自定义,默认yellow,20
def star(color='yellow',size=20):
myPen.pencolor(color)
myPen.fillcolor(color)
myPen.begin_fill()
for i in range(5):
myPen.forward(size)
myPen.right(144)
myPen.end_fill()
#画白色边框方块,边长20,填充颜色自定
def 喵(color):
myPen.pensize(2)
myPen.pencolor('white')
myPen.fillcolor(color)
myPen.begin_fill()
for i in range(4):
myPen.forward(20)
myPen.right(90)
myPen.end_fill()
#画树干
myPen.goto(-20,-100)
for i in range(3):
for j in range(3):
myPen.pendown()
喵("brown")
myPen.penup()
myPen.forward(20)
myPen.goto(-20,-100+((i+1)*20))
#画绿树
myPen.goto(-180,-40)
n = 19
for i in range(11):
for j in range(1,n+1):
myPen.pendown()
喵('green')
myPen.penup()
myPen.forward(20)
n = n-2
myPen.goto(-180+((i+1)*20),-40+((i+1)*20))
#画五角星
myPen.penup()
myPen.goto(0,160)
star()
圣诞祝福迟到了
但是之后的祝福不会迟到
元(春)旦(节)快乐
