Python生成圣诞节贺卡-代码案例剖析【第18篇—python圣诞节系列】
文章目录
- ❄️Python制作圣诞节贺卡
- 🐬展示效果
- 🌸代码
- 🌴代码剖析
- ❄️Python制作圣诞树贺卡
- 🐬展示效果
- 🌸代码
- 🌴代码剖析
- 🌸总结
- 🎅圣诞节快乐!
❄️Python制作圣诞节贺卡
🐬展示效果

🌸代码
import turtle
import random
import time
width = 600
height = 500
window = turtle.Screen()
window.setup(width, height)
window.bgcolor("sky blue")
window.title("Merry Christmas")
snowball_rate = 1, 3
snowball_size = 5, 15
wind_change = 1, 5
max_wind = 3
# Create all circle-shaped objectsdef make_circle(turtle_name, x, y, size, colour):turtle_name.color(colour)turtle_name.penup()turtle_name.setposition(x, y)turtle_name.dot(size)# Create new snowballs and store in list
list_of_snowballs = []def make_snowball():snowball = turtle.Turtle()snowball.color("white")snowball.penup()snowball.setposition(random.randint(-2*width, width/2), height/2)snowball.hideturtle()snowball.size = random.randint(*snowball_size)list_of_snowballs.append(snowball)def move_snowball(turtle_name, falling_speed=1, wind=0):turtle_name.clear()turtle_name.sety(turtle_name.ycor() - falling_speed)if wind:turtle_name.setx(turtle_name.xcor() + wind)turtle_name.dot(turtle_name.size)# Snowman: body
snowman = turtle.Turtle()
x_position = 0
y_positions = 75, 0, -100
size = 75
for y in y_positions:make_circle(snowman, x_position, y, size, "white")size = size * 1.5
# Snowman: buttons
button_seperation = 25
button_y_positions = [y_positions[1]-button_seperation,y_positions[1],y_positions[1]+button_seperation]
for y in button_y_positions:make_circle(snowman, x_position, y, 10, "black")
# Snowman: eyes
y_offset = 10
x_seperation = 15
for x in x_position-x_seperation, x_position+x_seperation:make_circle(snowman, x, y_positions[0] + y_offset, 20, "green")make_circle(snowman, x, y_positions[0] + y_offset, 10, "black")
# Snowman: nose
snowman.color("orange")
snowman.setposition(x_position - 10, y_positions[0]-y_offset)
snowman.shape("triangle")
snowman.setheading(200)
snowman.turtlesize(0.5, 2.5)
window.tracer(0)
# Ground
grass = turtle.Turtle()
grass.fillcolor("forest green")
grass.penup()
grass.setposition(-width/2, -height/2)
grass.begin_fill()
for _ in range(2):grass.forward(width)grass.left(90)grass.forward(70)grass.left(90)
grass.end_fill()
ground = turtle.Turtle()
for x in range(int(-width/2), int(width/2), int(width/200)):make_circle(ground, x, -180, random.randint(5, 20), "white")
text = turtle.Turtle()
text.color("red")
text.penup()
text.setposition(-100, 170)
text.write("Merry Christmas", font=("Apple Chancery", 30, "bold"), align="center")
text.setposition(130, 140)
text.color("dark green")
text.write("Dao", font=("Avenir", 30, "bold"), align="right")
text.color("black")
text.write("Bi", font=("Avenir", 30, "normal"), align="left")
text.setx(50)
text.write("from", font=("Apple Chancery", 20, "bold"), align="right")
text.hideturtle()
time_delay = 0
start_time = time.time()
wind = 0
wind_delay = 5
wind_timer = time.time()
wind_step = 0.1
while True:if time.time() - start_time > time_delay:make_snowball()start_time = time.time()time_delay = random.randint(*snowball_rate)/10for snowball in list_of_snowballs:move_snowball(snowball, wind=wind)if snowball.ycor() < -height/2:snowball.clear()list_of_snowballs.remove(snowball)if time.time() - wind_timer > wind_delay:wind += wind_stepif wind >= max_wind:wind_step = -wind_stepelif wind <= 0:wind_step = abs(wind_step)wind_timer = time.time()wind_delay = random.randint(*wind_change)/10window.update()
turtle.done()
🌴代码剖析
这段Python代码使用Turtle图形库创建了一个简单的动画,包括下雪、雪人和圣诞主题的风景。以下是对代码的逐步分析:
-
导入库:
import turtle import random import timeturtle:提供对象导向和过程导向的海龟图形基元。random:生成随机数。time:提供各种与时间相关的函数。
-
设置Turtle窗口:
width = 600 height = 500 window = turtle.Screen() window.setup(width, height) window.bgcolor("sky blue") window.title("Merry Christmas")- 设置一个具有指定宽度、高度、背景颜色和标题的窗口。
-
定义雪球参数:
snowball_rate = 1, 3 snowball_size = 5, 15 wind_change = 1, 5 max_wind = 3- 用于控制降雪速率、雪球大小、风力变化和最大风速的参数。
-
定义函数:
make_circle:在指定位置创建一个圆形对象。make_snowball:创建一个新的雪球海龟并将其添加到列表中。move_snowball:移动雪球海龟,根据下降速度和风力更新其位置。
-
创建雪人:
snowman = turtle.Turtle() x_position = 0 y_positions = 75, 0, -100 size = 75- 使用圆形表示雪人的身体、按钮、眼睛,以及三角形表示鼻子。
-
创建地面:
grass = turtle.Turtle() grass.fillcolor("forest green") grass.penup() grass.setposition(-width/2, -height/2) grass.begin_fill() for _ in range(2):grass.forward(width)grass.left(90)grass.forward(70)grass.left(90) grass.end_fill()- 创建一个绿色的地面以及一些表示雪花的白色圆圈。
-
创建文本:
text = turtle.Turtle() text.color("red") text.penup() text.setposition(-100, 170) text.write("Merry Christmas", font=("Apple Chancery", 30, "bold"), align="center")- 创建显示"圣诞快乐"的文本。
-
设置时间和风:
time_delay = 0 start_time = time.time() wind = 0 wind_delay = 5 wind_timer = time.time() wind_step = 0.1- 设置时间和风力的参数。
-
主循环:
while True:# 生成雪球if time.time() - start_time > time_delay:make_snowball()start_time = time.time()time_delay = random.randint(*snowball_rate)/10# 移动雪球for snowball in list_of_snowballs:move_snowball(snowball, wind=wind)if snowball.ycor() < -height/2:snowball.clear()list_of_snowballs.remove(snowball)# 更新风力if time.time() - wind_timer > wind_delay:wind += wind_stepif wind >= max_wind:wind_step = -wind_stepelif wind <= 0:wind_step = abs(wind_step)wind_timer = time.time()wind_delay = random.randint(*wind_change)/10window.update()- 在主循环中,不断生成雪球、移动雪球,以及更新风力。
这段代码通过使用Turtle图形库,创建了一个简单而有趣的圣诞主题动画。以下是我的一些心得:
-
Turtle图形库: Turtle是一个很好的用于学习编程和图形设计的工具。它提供了简单易懂的API,适合初学者入门,同时也可以创建出具有趣味性的图形。
-
动画设计: 通过循环和时间控制,代码实现了雪球的不断下落、雪人的绘制,以及风力的随机变化。这种动态的设计增加了视觉上的趣味性。
-
可读性良好: 代码的结构清晰,函数的命名恰当,使得整个代码可读性很好。这对于理解代码和后续维护非常重要。
-
创意表达: 通过在屏幕上创建雪人、雪球和圣诞主题的背景,代码成功地表达了圣诞节的氛围,同时还添加了一些有趣的元素,比如风力的变化。
-
实践编程技能: 通过编写和理解这段代码,可以学到关于随机数生成、时间控制、动画设计等方面的编程技能。这对于培养实际的编程经验很有帮助。
总体而言,这段代码是一个有趣且教育性的例子,展示了如何使用Python和Turtle图形库创建简单的动画。
❄️Python制作圣诞树贺卡
🐬展示效果

🌸代码
# -*- coding: utf-8 -*-
import turtle as T
import random
import time# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle() # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='maroon')
t.left(90)
t.up()
t.forward(280)
t.down()
t.pensize(3)# 画五角星
n=100
t.color("orange","yellow")
t.begin_fill()
t.left(126)for i in range(5):t.forward(n/5)t.right(144)t.forward(n/5)t.left(71)
t.end_fill()
t.left(60)
t.pensize(8)
t.forward(60)
t.right(20)
t.right(116)
t.pensize(6)# 画树冠
t.color('dark green')
n=130for i in range(6):time.sleep(0.5)a=1+i/2t.begin_fill()t.left(90)t.forward(n*a*0.707)t.left(135)t.forward(n*a)t.left(135)t.forward(n*a*0.707)t.end_fill()t.up()t.left(90)t.forward(n*a*0.707/3)t.left(135)t.forward(n*a/6)t.left(135)t.down()# 画树干
t.up()
t.right(135)
t.forward(30)
t.right(90)
t.forward(157)
t.down()
t.color('saddlebrown')
t.begin_fill()
t.forward(80)
t.right(90)
t.forward(45)
t.right(90)
t.forward(80)
t.right(90)
t.forward(45)
t.end_fill()t.up()
t.backward(45)
t.right(90)
t.backward(470)
t.down()# 画灯
def light(l,t):t.pensize(3)colors = ["magenta","darkorange","red","blue"]for i in range(l):time.sleep(0.2)b = 70+16*ia = b/2*random.randint(-100,100)/100t.up()t.forward(b)t.left(90)t.forward(a)t.down()t.color("lightyellow",colors[i%4])t.begin_fill()t.circle(10)t.end_fill()t.up()t.backward(a)t.right(90)t.backward(b)t.down()t.pensize(1)# 画雪花
def snow(m,t):for i in range(m):a = 400 - 800 * random.random()b = 600 - 800 * random.random()t.up()t.forward(b)t.left(90)t.forward(a)t.down()t.color('white')t.begin_fill()t.circle(1)t.end_fill()t.up()t.backward(a)t.right(90)t.backward(b)light(24,t)
snow(600, t)# 文字
t.goto(-200,200)
my_word = ("Merry Christmas")
t.write(my_word,font=("Edwardian Script ITC",40,"bold"))
time.sleep(0.3)
t.goto(-100,50)
my_word = ("and")
t.write(my_word,font=("Edwardian Script ITC",50,"bold"))
time.sleep(0.3)
t.goto(-150,-100)
my_word = ("Happy New Year")
t.write(my_word,font=("Edwardian Script ITC",40,"bold"))time.sleep(0.3)
t.clear()
w.screensize(bg='black')
t.goto(-200,0)
my_word = ("Prudued by: Justine")
t.write(my_word,font=("Edwardian Script ITC",45,"bold"))
t.goto(0,-100)
my_word = ("Dec. 24th, 2019")
t.write(my_word,font=("Edwardian Script ITC",20,"bold"))time.sleep(5)
🌴代码剖析
这段代码使用Python的Turtle图形库绘制了一个圣诞树、五角星、灯光、雪花以及一些文字,并在最后展示了制作的日期和制作者信息。以下是对代码的简要分析:
-
设置绘图环境:
t = T.Turtle() w = T.Screen() t.hideturtle() t.getscreen().tracer(5, 0) w.screensize(bg='maroon')- 创建Turtle对象和Screen对象,设置画笔属性和背景颜色。
-
绘制五角星:
n = 100 t.color("orange", "yellow") t.begin_fill() t.left(126) for i in range(5):t.forward(n / 5)t.right(144)t.forward(n / 5)t.left(71) t.end_fill()- 使用Turtle绘制一个填充的五角星。
-
绘制圣诞树的树冠:
t.color('dark green') n = 130 for i in range(6):# 逐层绘制树冠- 循环绘制树冠的层次,根据层次逐渐增大,绘制成树状。
-
绘制圣诞树的树干:
t.up() t.right(135) t.forward(30) t.right(90) t.forward(157) t.down() t.color('saddlebrown') t.begin_fill() t.forward(80) t.right(90) t.forward(45) t.right(90) t.forward(80) t.right(90) t.forward(45) t.end_fill()- 绘制树干。
-
绘制灯光:
def light(l, t):# 绘制一串灯光- 定义了一个函数,用于绘制一串灯光,每个灯光的颜色随机。
-
绘制雪花:
def snow(m, t):# 绘制雪花- 定义了一个函数,用于绘制雪花,雪花的位置和数量随机。
-
展示文字信息:
t.goto(-200, 200) my_word = ("Merry Christmas") t.write(my_word, font=("Edwardian Script ITC", 40, "bold"))- 在特定位置展示文字,包括"Merry Christmas"和"Happy New Year"等。
-
展示制作信息:
t.goto(-200, 0) my_word = ("Produced by: Justine") t.write(my_word, font=("Edwardian Script ITC", 45, "bold"))- 在屏幕中央展示代码的制作者信息和日期。
-
等待5秒后清空画布:
time.sleep(5) t.clear() w.screensize(bg='black')- 在展示信息后等待5秒钟,然后清空画布并更改背景颜色。
-
代码注释: 代码中添加了注释,使得代码更易读、易理解。
这段代码通过Turtle图形库展示了一个简单而有趣的圣诞主题图形,并且通过文字展示了制作者信息和日期。
这段代码使用Turtle图形库绘制了一个富有圣诞氛围的图形,包括五角星、圣诞树、灯光和雪花等元素。以下是我的心得:
-
创意丰富: 代码展示了作者对于圣诞节的创意和想象力。通过使用Turtle绘制五角星和树形,以及添加灯光和雪花,使整个图形充满了节日的氛围。
-
图形效果: 通过合理选择颜色、形状和绘制顺序,成功地绘制出了富有立体感的圣诞树,五角星的设计也很有特色。同时,通过随机颜色的灯光和雪花,增加了视觉上的多样性。
-
动态效果: 使用Turtle的
tracer函数以及time.sleep函数,使得图形的绘制过程呈现出一定的动态效果。例如,逐层绘制圣诞树的树冠,以及依次点亮的灯光,都使图形看起来更生动。 -
字体选择: 通过选择不同的字体(“Edwardian Script ITC”),成功地展示了"Merry Christmas"和"Happy New Year"等文本,使得图形更具节日氛围。
-
清晰结构: 代码结构相对清晰,模块化程度较高,使用函数对不同元素进行绘制,提高了代码的可读性和可维护性。
-
创作者信息: 最后展示了制作者信息和日期,这是一个很好的方式来为自己的作品留下标记,并向其他人展示制作者的身份。
总体而言,这段代码不仅仅是一个简单的图形绘制,更是通过细致的设计和创意,成功地表达了圣诞节的欢乐氛围。同时,展示了Turtle图形库的灵活性和简便性。
🌸总结
这段代码通过使用Python的Turtle图形库,成功绘制了一个富有创意和节日氛围的圣诞主题图形。以下是对整体代码的总结:
-
图形元素:
- 通过Turtle绘制了五角星、圣诞树、灯光、雪花等图形元素,展现了浓厚的圣诞节氛围。
- 使用
tracer函数和time.sleep函数创造了动态效果,使得图形呈现出逐步绘制的过程。
-
色彩和形状:
- 巧妙选择了颜色,如树冠的深绿色、灯光的不同随机颜色,以及雪花的白色,增添了视觉上的多样性。
- 圣诞树的形状通过逐层绘制和旋转,成功表现出树状结构,五角星的设计独特。
-
函数的使用:
- 合理使用函数对不同元素进行绘制,提高了代码的模块化和可读性。
- 分别封装了绘制灯光和雪花的函数,增加了代码的结构清晰度。
-
文本展示:
- 使用了不同的字体和字号,成功地展示了"Merry Christmas"和"Happy New Year"等文本信息,使图形更具节日氛围。
- 在最后展示了制作者信息和日期,为作品留下了标记。
-
动态效果:
- 通过适度的延时和清空画布的操作,使得整体图形呈现出动态的效果,使观赏者能够更好地感受到节日的欢乐氛围。
-
代码清晰度:
- 代码结构相对清晰,注释也有助于理解,提高了代码的可读性。
- 采用了适当的缩进和空行,使得代码布局整洁。
总的来说,这段代码成功地通过简单的图形绘制展现了圣诞节的欢快氛围,结合了创意、色彩和动态效果,展示了Turtle图形库的灵活性和便捷性。
🎅圣诞节快乐!
圣诞节快乐!愿你的圣诞充满温馨和喜悦,与亲朋好友共度美好时光。愿你在新的一年里充满幸福、健康和成功。祝福你和你的家人,平安喜乐!🎄🎅🎁

相关文章:
Python生成圣诞节贺卡-代码案例剖析【第18篇—python圣诞节系列】
文章目录 ❄️Python制作圣诞节贺卡🐬展示效果🌸代码🌴代码剖析 ❄️Python制作圣诞树贺卡🐬展示效果🌸代码🌴代码剖析🌸总结 🎅圣诞节快乐! ❄️Python制作圣诞节贺卡 …...
深度剖析Ajax实现方式(原生框架、JQuery、Axios,Fetch)
Ajax学习 简介: Ajax 代表异步 JavaScript 和 XML(Asynchronous JavaScript and XML)的缩写。它指的是一种在网页开发中使用的技术,通过在后台与服务器进行数据交换,实现页面内容的更新,而无需刷新整个…...
任天堂,steam游戏机通过type-c给VR投屏与PD快速充电的方案 三type-c口投屏转接器
游戏手柄这个概念,最早要追溯到二十年前玩FC游戏的时候,那时候超级玛丽成为了许多人童年里难忘的回忆,虽然长大了才知道超级玛丽是翻译错误,应该是任天堂的超级马里奥,不过这并不影响大家对他的喜爱。 当时FC家用机手柄…...
Flink系列之:Checkpoints 与 Savepoints
Flink系列之:Checkpoints 与 Savepoints 一、概述二、功能和限制 一、概述 从概念上讲,Flink 的 savepoints 与 checkpoints 的不同之处类似于传统数据库系统中的备份与恢复日志之间的差异。 Checkpoints 的主要目的是为意外失败的作业提供恢复机制。 …...
【优质书籍推荐】LoRA微调的技巧和方法
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…...
Linux一行命令配置jdk环境
使用方法: 压缩包上传 到/opt, 更换命令中对应的jdk包名即可。 注意点:jdk-8u151-linux-x64.tar.gz 解压后名字是jdk1.8.0_151 sudo tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt && echo export JAVA_HOME/opt/jdk1.8.0_151 | sudo tee -a …...
从0开始刷剑指Offer
剑指Offer题解 剑指 Offer 11. 旋转数组的最小数字 思路: 二分O(logn) class Solution {public int stockManagement(int[] stock) {int l 0;int r stock.length - 1;while(l < r && stock[0] stock[r]) r --;if(stock[r] > stock[l]) return stock[0];whi…...
使用Java语言中的算法输出杨辉三角形
一、算法思想 创建一个名为YanghuiTest的类,然后创建二维数组,然后遍历二维数组的第一层,然后初始化第二层数组的大小,然后遍历第二层数组,然后将两侧的数组元素赋为1,然后其它数值通过公式计算,最后可以输…...
人工智能_机器学习071_SVM支持向量机_人脸识别算法_LFW人脸数据加载_与理解---人工智能工作笔记0111
然后我们继续来看 这里有个lfw_home可以看到这个数据是,包含了人脸数据 然后我们继续看,在我们的顶你用户目录下,如果安装了,sklearn就会有这样一个目录, scikit_learn_data目录,这个里面可以看到 可以看到这个文件夹中有个 lfw_home文件夹是对.zip文件夹的解压,这个下载以后…...
Java 8中流Stream API详解
先给个示例,展示Java 8流API的优势 假设我们有以下任务: 给定一个字符串列表,我们需要执行以下操作: 筛选出所有以"A"开头的字符串。 将这些字符串转换为大写。 对这些字符串按照长度进行排序。 最后,将…...
通过 xlsx 解析上传excel的数据
一、前言 在前端开发中,特别是在后台管理系统中,导入数据(上传excel)到后端是是否常见的功能;而一般的实现方式都是通过接口将excel上传到后端,再有后端进行数据解析并做后续操作。 今天,来记录…...
Flink系列之:JDBC SQL 连接器
Flink系列之:JDBC SQL 连接器 一、JDBC SQL 连接器二、依赖三、创建 JDBC 表四、连接器参数五、键处理六、分区扫描七、Lookup Cache八、幂等写入九、JDBC Catalog十、JDBC Catalog 的使用十一、JDBC Catalog for PostgreSQL十二、JDBC Catalog for MySQL十三、数据…...
OpenCV与YOLO学习与研究指南
引言 OpenCV是一个开源的计算机视觉和机器学习软件库,而YOLO(You Only Look Once)是一个流行的实时对象检测系统。对于大学生和初学者而言,掌握这两项技术将大大提升他们在图像处理和机器视觉领域的能力。 基础知识储备 在深入…...
hive中map相关函数总结
目录 hive官方函数解释示例实战 hive官方函数解释 hive官网函数大全地址: hive官网函数大全地址 Return TypeNameDescriptionmapmap(key1, value1, key2, value2, …)Creates a map with the given key/value pairs.arraymap_values(Map<K.V>)Returns an un…...
HttpServletRequestWrapper、HttpServletResponseWrapper结合 过滤器 实现接口的加解密、国际化
目录 一、HttpServletRequestWrapper代码 二、HttpServletRequestWrapper代码 三、加解密过滤器代码 四、国际化过滤器代码 一、HttpServletRequestWrapper代码 package com.vteam.uap.security.httpWrapper;import jakarta.servlet.ReadListener; import jakarta.servlet.…...
最大通关数
洛洛和晶晶计划一起挑战峡谷深渊,峡谷左右有不同数量的关卡,每个关卡需要不同的紫水晶通关,用给定的紫水晶依次通过最多的关卡。 (笔记模板由python脚本于2023年12月23日 12:16:50创建,本篇笔记适合熟悉贪心算法的coder翻阅) 【学…...
MySQL中EXPLAIN关键字解释
什么是MySQL的索引 索引是帮助MySQL高效获取数据的数据结构 MySQL再存储数据之外,数据库系统中还维护者满足特定查找算法的数据结构,这些数据结构以某种引用表中的数据,这样我们就可以通过数据结构上实现的高级查找算法来快速…...
初始JavaScript详解【精选】
Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍初始JavaScript以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 目录 ⭐…...
计数排序,基数排序及排序总结
稳定性:当要排序的数组有相同数据时,排序后相同数据的相对位置不变,则称该排序算法稳定,否则即为不稳定. 在这里我在说说计数排序吧,计数排序就是将给定数组中的数进行计数,在从小到大依次输出即可。简单过…...
【LeetCode】459. 重复的子字符串(KMP2.0)
今日学习的文章链接和视频链接 leetcode题目地址:459. 重复的子字符串 代码随想录题解地址:代码随想录 题目简介 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 看到题目的第一想法(可以贴代码) 1.…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
