首页 > 编程语言 >Python生成雪花、代码雨、绝美圣诞树!?

Python生成雪花、代码雨、绝美圣诞树!?

时间:2024-12-16 16:28:58浏览次数:8  
标签:txt Python char range 圣诞树 import 绝美 order

下面给大家发一些有趣不知道的Python代码,超级有趣,快去试试!日常放松一下,给爱的人发过去吧!

1、绘制分形图形(以科赫雪花为例)

import turtle


def koch(t, order, size):
    if order == 0:
        t.forward(size)
    else:
        for angle in [60, -120, 60, 0]:
            koch(t, order - 1, size / 3)
            t.left(angle)


wn = turtle.Screen()
t = turtle.Turtle()
t.speed(0)
size = 300
order = 3
for i in range(3):
    koch(t, order, size)
    t.right(120)
wn.exitonclick()

这段代码利用 Python 的turtle库绘制出科赫雪花分形图形。通过递归调用koch函数,不断细分线段来构建出复杂而美观的雪花形状,根据设置不同的order(递归深度)可以得到精细程度不同的图案。 

 2、模拟黑客帝国代码雨效果

import random
import time
import os

# 用于生成代码雨的字符集,可以添加更多符号让它更逼真
charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+-=[]{}|;':\",./<>?`~"
lines = 40
columns = 80
speed = 0.1  # 控制下落速度,可调整

while True:
    matrix = [[" " for _ in range(columns)] for _ in range(lines)]
    for _ in range(100):
        line = random.randint(0, lines - 1)
        col = random.randint(0, columns - 1)
        char = random.choice(charset)
        matrix[line][col] = char

    for line in matrix:
        print("".join(line))
    time.sleep(speed)
    os.system('cls' if os.name == 'Windows' else 'clear')

使用 Python 模拟了经典的黑客帝国中代码雨的效果,在命令行界面不断有随机的字符像雨滴一样落下,通过循环和控制字符的随机出现以及清屏操作来营造出那种酷炫的动态视觉感。 

3、来个大家最喜欢的圣诞树吧!圣诞节马上到啦!也就快要过年咯! 

from tkinter import Tk, Canvas

# 创建主窗口
root = Tk()
root.title("Christmas Tree")

# 创建画布
canvas = Canvas(root, width=400, height=400, bg='black')
canvas.pack()

# 绘制树身(用三角形表示)
points = [200, 300, 100, 100, 300, 100]
canvas.create_polygon(points, fill='green', outline='green')

# 绘制树干
canvas.create_rectangle(180, 300, 220, 380, fill='brown', outline='brown')

# 绘制装饰球(多个彩色圆形)
colors = ["red", "yellow", "blue", "orange", "purple"]
for _ in range(10):
    x = 100 + 20 * (_. % 5)
    y = 120 + 30 * (_. // 5)
    canvas.create_oval(x, y, x + 10, y + 10, fill=colors[_. % 5], outline=colors[_. % 5])

root.mainloop()

这里借助Tkinter库创建图形界面,在画布上先绘制出绿色的三角形代表树身,棕色的矩形作为树干,然后通过循环在树上不同位置绘制多个彩色的圆形来模拟装饰球,最后通过mainloop函数保持图形界面显示,让你可以看到绘制好的圣诞树。 

下面再给大家推荐两个额外的文艺范的,喜欢即拿哦,友友们! 

4、 生成 ASCII 艺术字

import pyfiglet

text = "Python"
result = pyfiglet.figlet_format(text)
print(result)

 借助pyfiglet库,能将普通的文字转化为 ASCII 艺术字的形式呈现出来,比如将输入的 “Python” 变成用字符组成的很有艺术感、造型独特的样式,可用于在命令行界面打造独特的文本展示效果。

5、 图片转字符画

from PIL import Image

# 灰度值对应的字符集,可根据需要调整
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

def get_char(r, g, b, alpha=256):
    if alpha == 0:
        return " "
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = (256.0 + 1) / length
    return ascii_char[int(gray / unit)]

def main():
    im = Image.open("your_image.jpg")  # 替换为实际图片路径
    WIDTH = 60
    HEIGHT = 40
    im = im.resize((WIDTH, HEIGHT), Image.NEAREST)
    txt = ""
    for y in range(HEIGHT):
        for x in range(WIDTH):
            pixel = im.getpixel((x, y))
            txt += get_char(*pixel)
        txt += "\n"
    print(txt)
    with open("output.txt", "w") as f:
        f.write(txt)

if __name__ == "__main__":
    main()

这段代码利用PIL(Python Imaging Library)库读取图片,然后根据图片像素的灰度值,将图片转换为由字符组成的字符画,可把一幅图像以一种别样的文本形式展现出来,十分有意思。 

大家快去试试吧!别太忙碌工作,忘了自己的快乐,快乐很简单,自己的人生体会最重要!

加油,奔波在路上的友友们!!!

Come on! You can do it!

标签:txt,Python,char,range,圣诞树,import,绝美,order
From: https://blog.csdn.net/Helena__a/article/details/144511492

相关文章

  • python:文档测试
    在Python中,文档测试(doctest)是一种通过嵌入示例代码和预期输出来测试文档字符串(docstrings)和文档中的代码片段的方法。它允许开发者在编写文档的同时,确保文档中的代码示例是准确和有效的。doctest模块会读取文档字符串或指定文件中的代码示例,执行它们,并比较实际输出与预期输出。......
  • python:单元测试
    在Python编程中,单元测试是确保代码按预期工作的关键步骤之一。单元测试是指对代码中的最小可测试单元(通常是函数或方法)进行隔离测试,以验证其行为是否符合预期。Python有一个内置的单元测试框架,名为unittest,它提供了编写和运行测试所需的所有工具。使用unittest编写单元测试以......
  • python面向对象编程:继承和多态
    在Python的面向对象编程(OOP)中,获取对象的信息通常涉及访问对象的属性和方法。以下是一些常见的方法和技巧,用于获取和检查对象的信息:访问对象的属性:你可以直接使用点符号访问对象的属性。python复制代码classPerson:def__init__(self,name,age):self.name=nameself.a......
  • python 的GUI封装
    python的GUI封装功能扩展点进度条控件:增加对ttk.Progressbar的支持,用于展示进度。列表框控件:提供Listbox的创建方法,用于展示和选择多项数据。复选框和单选按钮:Checkbutton和Radiobutton控件的支持。画布和图形支持:提供Canvas控件,用于绘制图形或复杂的......
  • 基于django的python校园用车管理系统校车使用记录(源码+文档+运行视频+讲解视频)
     文章目录系列文章目录前言一、开发介绍二、详细视频演示三、项目部分实现截图四、系统测试五、代码参考源码获取目的摘要:基于Django的Python校园用车管理系统为学校的校车管理提供了便捷的工具。该系统借助Django框架的稳定性和Python语言的高效性,实现了校......
  • 基于django的python图书馆管理系统图书借阅归还续借逾期罚金缴纳(源码+文档+运行视频+
     文章目录系列文章目录前言一、开发介绍二、详细视频演示三、项目部分实现截图四、系统测试五、代码参考源码获取目的摘要:基于Django的Python图书馆管理系统为图书馆的管理和服务提供了全面的解决方案。该系统通过Django框架的高效性和Python语言的灵活性,实......
  • 最新 Python 爬虫利器!
    Python上有一个非常著名的HTTP库——requests,相比大家都听说过,用过的人都说好!现在requests库的作者又发布了一个新库,叫做requests-html,看名字也能猜出来,这是一个解析HTML的库,而且用起来和requests一样爽!安装安装requests-html非常简单,一行命令即可做到。需要注意一点就是,req......
  • python毕设 陕西非物质文化遗产网站论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景在国内,对于非物质文化遗产的保护与传承研究多集中在政策、传统保护方式等方面。关于借助网站等数字化手段对特定地区(如陕西)非物质文化......
  • 【Python】题库数据导出成Word文档
     需求场景:从题库解析的导入的数据,现在又需要导出成Word文档 数据库表结构:CREATETABLE`trn_ex_qabank`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'主键',`qa_type`char(1)NOTNULLCOMMENT'考题类型',`qa_subject`textNOTNULLCOMMENT'考题题目',......
  • 零基础学习人工智能—Python—Pytorch学习(十二)
    前言本文介绍使用神经网络进行实战。使用的代码是《零基础学习人工智能—Python—Pytorch学习(九)》里的代码。代码实现mudule定义首先我们自定义一个module,创建一个torch_test17_Model.py文件(这个module要单独用个py文件定义),如下:importtorch.nnasnnimporttorch.nn.fun......