猫史档案馆


【Python教程】迟到的圣诞树

用户:小磨叽11111111111小磨叽11111111111查看:1 回复:8 评论:1 创建时间:2018-12-27T10:34:03


不好意思来迟了,看到网上有教程,但是觉得自己写一遍,感觉会非常不一样。

所以,别看代码了,动手吧!

 

emotion_xkl转圈 前期知识准备

1、print()打印

2、for循环

3、input()输入

4、turtle库部分画图函数

如果这些你都了解了,那么今天的教程so easy!

  

emotion_雪 正式开始  emotion_雪

 

法1:print打印

非常简单,但是需要足够的耐心❤

无图无真相,图来了

center_image

print('          *          ')
print('         ***         ')
print('        *****        ')
print('       *******       ')
print('      *********      ')
print('     ***********     ')
print('    *************    ')
print('   ***************   ')
print('  *****************  ')
print(' ******************* ')
print('*********************')
print('          |          ')

小建议:代码从圣诞树的最后一行开始写,然后不断调整上面各行的空格emotion_doge

 

方法2:for循环和print打印

center_image

n=0
for i in range(11,0,-1):
    print(' '*i+'*'*(2*n+1)+' '*i)
    n=n+1
print(' '*11+'|'+' '*11)

建议:这部分可能需要考考思考一下啦,不过方法并不唯一

这个时候可以考虑用excel的小格子帮助我们思考

center_image

 

这是我找到的规律:

for循环,从10开始,每次减少1,最后到0

变量n,从1开始,每次增加2,规律是2*n+1

根据找到的规律,写代码吧!

 

增加input,进化一下~

center_image

h = int(input('请输入圣诞树的高度(整数):'))
n=0
for i in range(h,0,-1):
    print(' '*i+'*'*(2*n+1)+' '*i)
    n=n+1
print(' '*h+'|'+' '*h)

 

小提示:

center_image

 

方法3:海龟画图

center_image

 

emotion_雷电猴_哇噻

 

思(自)路(问)分(自)析(答)

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()

 

圣诞祝福迟到了

但是之后的祝福不会迟到

元(春)旦(节)快乐

 

emotion_星能猫_爱你


回复

上一页1 页 / 共 1下一页
我们一起喵喵喵我们一起喵喵喵

好顶赞 炫酷emotion_编程猫_厉害了

点赞0


评论


欣欣向荣233欣欣向荣233

emotion_编程猫_点赞@喵队长快来看

点赞0


评论


浪日子的鲸浪日子的鲸

最后一个圣诞树的代码最后最好加上  turtle.done()

 

 

点赞0


评论


海龟本尊2海龟本尊2

哇 很赞!!!!

点赞0


评论


小磨叽11111111111小磨叽11111111111

突然看不到评论,发条评论,试试看~

点赞0


评论


_一堆乱码__一堆乱码_

emotion_囧看不懂emotion_囧

点赞0


评论


流浪的地球君流浪的地球君



点赞0


评论


QBZ_QBZ_

emotion_编程猫_点赞

点赞0


评论