程序员开搞 !用Python绘制圣诞礼物,给女友准备一个小惊喜

导语:哈喽哈喽铁汁们,马上就要圣诞啦 !这两天被某音刷到的圣诞树美哭了

✨ 视频预览:

https://www.zhihu.com/video/1455472900786970624

朋友圈也是都在秀别人送的圣诞树

✨ 图片预览:

咱就是说今天我们要整点不一样(画重点要为圣诞做准备的铁汁小本本记起来呦)直接送图还是过于直白,咱用Python绘制圣诞礼物,做出来的再送不是更高级嘛,更是理工男的独宠浪漫 !小编连圣诞文案也贴心备好了哦

有想法的铁汁们往下滑  文末领取Python全套最新学习资源

一、圣诞文案

1) 能不能帮我用蝴蝶结扎一下辫子呀?我想成为你的圣诞节礼物诶✨

2) 我是铃儿你是叮当~因为铃儿想叮当✨

3) 在等雪花圣诞树新年烟火和更好的我们✨

4) 世界上哪有圣诞老人,礼物都是来自爱你的人✨

5) 希望到圣诞节那天你能和我说Merry Christmas还有Merry me✨

二、圣诞树代码

1)效果:
在这里插入图片描述

源码:

1height = 5
2
3stars = 1
4for i in range(height):
5    print((' ' * (height - i)) + ('*' * stars))
6    stars += 2
7print((' ' * height) + '|')

2)效果:

源码:

1from turtle import *
 2import random
 3import time
 4
 5n = 80.0
 6
 7speed("fastest")
 8screensize(bg='seashell')
 9left(90)
10forward(3*n)
11color("orange", "yellow")
12begin_fill()
13left(126)
14
15for i in range(5):
16    forward(n/5)
17    right(144)
18    forward(n/5)
19    left(72)
20end_fill()
21right(126)
22
23color("dark green")
24backward(n*4.8)
25def tree(d, s):
26    if d <= 0: return
27    forward(s)
28    tree(d-1, s*.8)
29    right(120)
30    tree(d-3, s*.5)
31    right(120)
32    tree(d-3, s*.5)
33    right(120)
34    backward(s)
35tree(15, n)
36backward(n/2)
37
38for i in range(200):
39    a = 200 - 400 * random.random()
40    b = 10 - 20 * random.random()
41    up()
42    forward(b)
43    left(90)
44    forward(a)
45    down()
46    if random.randint(0, 1) == 0:
47            color('tomato')
48    else:
49        color('wheat')
50    circle(2)
51    up()
52    backward(a)
53    right(90)
54    backward(b)
55time.sleep(60)

3)效果:

源码:

import turtle as t  #as就是取个别名,后续调用的t都是turtle
from turtle import *
import random as r
import time
 
 
 
n = 100.0
 
speed("fastest")  #定义速度
screensize(bg='black')  #定义背景颜色,可以自己换颜色
left(90)
forward(3*n)
color("orange", "yellow")#定义最上端星星的颜色,外圈是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)
 
def drawlight():#定义画彩灯的方法
    if r.randint(0, 30) == 0:#如果觉得彩灯太多,可以把取值范围加大一些,对应的灯就会少一些
        color('tomato')#定义第一种颜色
        circle(6)#定义彩灯大小
    elif r.randint(0,30) == 1:
        color('orange')#定义第二种颜色
        circle(3)#定义彩灯大小
    else:
        color('dark green')#其余的随机数情况下画空的树枝
 
 
color("dark green")#定义树枝的颜色
backward(n*4.8)
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)
tree(15, n)
backward(n/2)
 
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)
 
t.color("dark red","red")#定义字体颜色
t.write("Merry Christmas",align ="center",font=("Comic Sans MS",40,"bold"))#定义文字、位置、字体、大小
 
 
def drawsnow():#定义画雪花的方法
    t.ht()  #隐藏笔头,ht=hideturtle
    t.pensize(2)  #定义笔头大小
    for i in range(200): #画多少雪花
        t.pencolor("white") #定义画笔颜色为白色,其实就是雪花为白色
        t.pu() #提笔,pu=penup
        t.setx(r.randint(-350,350)) #定义x坐标,随机从-350到350之间选择
        t.sety(r.randint(-100,350)) #定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始
        t.pd() #落笔,pd=pendown
        dens = 6 #雪花瓣数设为6
        snowsize = r.randint(1,10) #定义雪花大小
        for j in range(dens): #就是6,那就是画5次,也就是一个雪花五角星
            #t.forward(int(snowsize))  #int()取整数
            t.fd(int(snowsize))
            t.backward(int(snowsize))
            #t.bd(int(snowsize))  #注意没有bd=backward,但有fd=forward,小bug
            t.right(int(360/dens))  #转动角度
 
drawsnow()#调用画雪花的方法
t.done()  # 完成,否则会直接关闭

✨ end:提前祝大家圣诞快乐!!

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至优快云官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值