文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-06 19:20

关注

  • 作者简介:一名在校计算机学生、每天分享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. (1)以 def 开头,后接定义函数的名称和圆括号(),以冒号结尾
  2. (2)圆括号()可为空,也可以传入参数
  3. (3)定义函数的内容,与def有缩进关系
  4. (4)调用自定义的函数的基本格式为:定义函数的名称();若圆括号()为空,调用时,也为空,若若圆括号()不为空,调用时需传入参数
  5. (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()    #收笔

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

来源地址:https://blog.csdn.net/yj11290301/article/details/128239545

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯