当前位置:首页 » 《随便一记》 » 正文

Python编程 圣诞树教程 (附代码)程序员的浪漫

12 人参与  2022年12月22日 08:17  分类 : 《随便一记》  评论

点击全文阅读


作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

 座右铭:低头赶路,敬事如仪

个人主页:网络豆的主页​​​​​​

目录

 前言

一.python 做圣诞树

1.turtle库

2.python函数的定义规则

2.引入库

3.定义画彩灯函数

 4.定义画圣诞树的函数

 5.定义树下面小装饰的函数

6.定义一个画雪花的函数 

 7.画五角星

 8.写文字

9.全部源代码


 前言

本章将会讲解Python编程 实现圣诞树效果!


一.python 做圣诞树


1.turtle库

turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。


2.python函数的定义规则

(1)以 def 开头,后接定义函数的名称和圆括号(),以冒号结尾(2)圆括号()可为空,也可以传入参数(3)定义函数的内容,与def有缩进关系(4)调用自定义的函数的基本格式为:定义函数的名称();若圆括号()为空,调用时,也为空,若若圆括号()不为空,调用时需传入参数(5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

3.引入库

import turtle as  tfrom turtle import *import random as rimport  time

4.定义画彩灯函数

#定义画彩灯的函数def drawlight():    if r.randint(0,30) == 0:         #randint用来生成随机数        color('tomato')              #颜色()        circle(6)                    #根据半径radius绘制extent角度的弧形    elif r.randint(0,30) == 1:        color('orange')              #颜色()        circle(3)    else:        linewidth = 5                #线型        color('dark green')          #颜色

 5.定义画圣诞树的函数

#定义画圣诞树的函数def tree(d,s):         #定义函数 树    if d <= 0:  return   #返回函数的返回值    forward(s)           #向前    tree(d-1, s * .8)    right(120)           #方向 向右    tree(d-3, s * .5)    drawlight()              right(120)    tree(d-3, s * .5)    right(120)    backward(s)          #向后 

 6.定义树下面小装饰的函数

#定义树下面小装饰的函数def  xzs():    for i in range(200):              #范围        a = 200-400* r.random()       # random模块用于生成随机数        b = 10 -20* r.random()        up()        forward(b)                    #向前        left(90)                      #左边        forward(a)        down()                        #向下        if  r.randint(0,1) == 0:            color('tomato')        else:            color('wheat')        circle(2)                      #圆        up()        backward(a)        right(90)        backward(b)

7.定义一个画雪花的函数 

#定义一个画雪花的函数def drawsnow():    t.hideturtle()                   #这个方法是用来使Turtle隐身的。              t.pensize(2)                     #pensize(数字)可以设置画笔的宽度    for i in range(200):        t.pencolor("white")        t.penup()        t.setx(r.randint(-350,350))   #将当前x轴移动到指定位置        t.sety(r.randint(-100,350))   #将当前y轴移动到指定位置        t.pendown()                   #放下画笔        dens = 6        snowsize = r.randint(1,10)    #生成随机数        for j in range(dens):            t.forward(int(snowsize))            t.backward(int(snowsize))            t.right(int(360/dens))

 8.画五角星

#画五角星for i in range(5):    forward(n/5)    right(144)    forward(n/5)    left(72)end_fill()right(126)color("dark green")backward(n * 4.8)

 9.写文字

#写文字t.color("dark red", "red")t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))#写 "Merry Christmas" 使成一条直线  居中   字体   似手写的字体   40  粗体

10.全部源代码

import turtle as  tfrom turtle import *import random as rimport  time#定义几个函数先#定义画彩灯的函数def drawlight():    if r.randint(0,30) == 0:        color('tomato')        circle(6)    elif r.randint(0,30) == 1:        color('orange')        circle(3)    else:        linewidth = 5        color('dark green')#定义画圣诞树的函数def tree(d,s):    if d <= 0:  return    forward(s)    tree(d-1, s * .8)    right(120)    tree(d-3, s * .5)    drawlight()    right(120)    tree(d-3, s * .5)    right(120)    backward(s)#定义树下面小装饰的函数def  xzs():    for i in range(200):        a = 200-400* r.random()        b = 10 -20* r.random()        up()        forward(b)        left(90)        forward(a)        down()        if  r.randint(0,1) == 0:            color('tomato')        else:            color('wheat')        circle(2)        up()        backward(a)        right(90)        backward(b)#定义一个画雪花的函数def drawsnow():    t.hideturtle()    t.pensize(2)    for i in range(200):        t.pencolor("white")        t.penup()        t.setx(r.randint(-350,350))        t.sety(r.randint(-100,350))        t.pendown()        dens = 6        snowsize = r.randint(1,10)        for j in range(dens):            t.forward(int(snowsize))            t.backward(int(snowsize))            t.right(int(360/dens))n=100.0t.pensize(10)speed("fastest")t.screensize(800,600, "black")left(90)forward(3 * n)color("orange", "yellow")begin_fill()left(126)#画五角星for i in range(5):    forward(n/5)    right(144)    forward(n/5)    left(72)end_fill()right(126)color("dark green")backward(n * 4.8)#调用画树的函数tree(15 , n)backward(n/2)xzs()#写文字t.color("dark red", "red")t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))# 调用雪花函数drawsnow()t.done()    #收笔

创作不易,求关注,点赞,收藏,谢谢~ 


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/50153.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1