python 实现打印扫描效果详情

目录
  • 1. 介绍
  • 2. 完整代码

1. 介绍

前面我们尝试通过python实现了代码雨以及字母随机闪烁的效果,这次,我们再来实现一个代码的线性扫面。

同样的,此次我们仍然是使用30行代码来实现这个效果。

此次我们只是用pygamerandom两个包,首先,将他们导入:

import pygame
import random

之后,我们进行pygame界面的初始化工作:

# 参数
SCREENSIZE=(600,600)
BLACK=(0,0,0,13)
# 初始化
pygame.init()
font = pygame.font.SysFont('宋体', 20)
screen = pygame.display.set_mode(SCREENSIZE)
surface = pygame.Surface(SCREENSIZE, flags=pygame.SRCALPHA)
pygame.Surface.convert(surface)
surface.fill(BLACK)
screen.fill(BLACK)

之后设置一下我们字体的相关内容:

# 内容
lib=[chr(i) for i in range(48,48+10)] + [chr(i) for i in range(97,97+26)]   # [0-9 a-z]
texts = [font.render(l, True, (0, 255, 0)) for l in lib]
cols = list(range(40))  # 字体15, 窗口600

最后在一个循环中,更新界面并绘制出代码雨:

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    pygame.time.delay(33)
    screen.blit(surface, (0, 0))
    for i in range(n:=len(cols)):
        text = random.choice(texts)
        # 字母扫描
        screen.blit(text, (i * 15, cols[i] * 15))
        cols[i] = (cols[i]+1)%40
    pygame.display.flip()

2. 完整代码

完整代码如下:

import pygame
import random
# 参数
SCREENSIZE=(600,600)
BLACK=(0,0,0,13)
# 初始化
pygame.init()
font = pygame.font.SysFont('宋体', 20)
screen = pygame.display.set_mode(SCREENSIZE)
surface = pygame.Surface(SCREENSIZE, flags=pygame.SRCALPHA)
pygame.Surface.convert(surface)
surface.fill(BLACK)
screen.fill(BLACK)
# 内容
lib=[chr(i) for i in range(48,48+10)] + [chr(i) for i in range(97,97+26)]   # [0-9 a-z]
texts = [font.render(l, True, (0, 255, 0)) for l in lib]
cols = list(range(40))  # 字体15, 窗口600
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    pygame.time.delay(33)
    screen.blit(surface, (0, 0))
    for i in range(n:=len(cols)):
        text = random.choice(texts)
        # 字母扫描
        screen.blit(text, (i * 15, cols[i] * 15))
        cols[i] = (cols[i]+1)%40
    pygame.display.flip()

截止到现在,我们已经学会了用简简单单的30行代码实现代码雨,闪烁代码以及线性扫描三种炫酷的特效了,相信大家在这个过程中也对 python 有了一个最初步的理解与认识,

到此这篇关于python 实现打印扫描效果详情的文章就介绍到这了,更多相关python 打印扫描内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中的logging模块实现日志打印

    目录 方法1:配置并输出日志到标准输出 方法2:配置输出到日志文件 前言: 大家在写代码的时候,经常会使用print打印日志方便排查问题,然而print的问题就是太过简单,缺少时间.日志级别等格式化信息. Python自带的logging模块,很简单就能实现日志的配置和打印,它有两种用法,方法1是把日志输出到标准输出,其实就是命令行界面,方法2则是输出日志到文件,更加方便. 方法1:配置并输出日志到标准输出 import logging   LOG_FORMAT = "%(asctime)s -

  • python打印日志方法的使用教程(logging模块)

    目录 一.必备技能 1.logging模块的使用 二.logging 1.logging的基本使用 1.1.日志的五个等级(DEBUG/INFO/WARNING/ERROR/CRITICAL) 1.2.打印不同日志等级的方法: 2.自定义日志收集器 2.1.创建日志收集器 总结 一.必备技能 1.logging模块的使用 (1)5个日志等级/以及5个输出日志的内置函数 (2)日志收集器.日志输出渠道的概念 (3)如何自定义日志收集器 (4)如何封装自定义的日志收集器 二.logging pyth

  • 通过python扫描二维码/条形码并打印数据

    需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题) 安装方法:打开命令框输入 pip install pyzbar/opencv- python 接下来介绍代码 #首先导入本次所需要的库,最后一个csv是Python自带的csv表格操作库,这里我们需要把我们扫到的二维码信息都存入csv表格里. import cv2 from pyzbar import pyzbar import csv #然后我们设置一个变量,

  • 解决python logging遇到的坑 日志重复打印问题

    python 中 logging模块 假如遇到 多线程 或者 多进程 或者在web框架中自定义logging的话(一个请求就是一个独立的线程)非常容易重复打印日志 和造成内存崩溃,所以: 解决方法如下: 重写日志方法 用类: class Log(): import logging def __init__(self): self.logger = logging.getLogger(__name__) # 以下三行为清空上次文件 # 这为清空当前文件的logging 因为logging会包含所有

  • Python print函数:如何将对象打印输出

    目录 描述 语法 使用示例 打印对象 指定分隔符 打印到文件 设定结尾字符串 print与__repr__ 描述 print函数是Python的内置函数,它会将对象的__repr__特殊函数返回的字符串打印输出. 默认情况下,print函数调用底层的sys.stdout.write函数,即往控制台打印字符串. 语法 print(*args, sep=' ', end='\n', file=None) 名称 说明 备注 args 任意类型.任意数量的参数. 可省略的参数 sep 当args中包含多

  • python实现打印类的所有属性和方法

    目录 打印类的所有属性和方法 python中更多种类的打印 1.print("." * 10) 是输出10个 "." 2.用了一个自定义的函数 formatter 3.这个主要是讲定义的字符串可以直接打印出来 打印类的所有属性和方法 利用dir(obj)方法获得obj对象的所有属性和方法名,返回一个list. for item in dir(top_k_metergroup):  #top_k_metergroup是某类的一个实例化对象     print(item

  • Python打印数据类型的全过程

    目录 打印数据类型 基本数据类型与打印语句 打印数据类型 右侧编辑器中的代码功能是输出当前 num3 的数据类型,输出结果为: <class 'float'> 请使用 int() 函数将 num3 转换为 int 类型,使其输出结果为: <class 'int'> 代码: num1 = 30 num2 = 7 num3 = num1/num2 #在下面将 num3 转换成 int 类型,并使得最终输出是 <class 'int'> num3=int(num3) prin

  • python 实现打印扫描效果详情

    目录 1. 介绍 2. 完整代码 1. 介绍 前面我们尝试通过python实现了代码雨以及字母随机闪烁的效果,这次,我们再来实现一个代码的线性扫面. 同样的,此次我们仍然是使用30行代码来实现这个效果. 此次我们只是用pygame与random两个包,首先,将他们导入: import pygame import random 之后,我们进行pygame界面的初始化工作: # 参数 SCREENSIZE=(600,600) BLACK=(0,0,0,13) # 初始化 pygame.init()

  •  Python 中 logging 模块使用详情

    目录 1.为什么要用logging模块 2.logging模块介绍 3.基础设置 1.为什么要用logging模块 在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节:同时,当程序出问题时,我们也可以通过日志快速定位问题所在.在我们写程序时,也可以借助 logging 模块的输出信息来调试代码. 但是很多人还是在程序中使用print()函数来输出一些信息,比如: print 'Start reading database' records = model.read_recrod

  • python实现机器人行走效果

    本文实例为大家分享了python实现机器人行走效果的具体代码,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,

  • 解决python DataFrame 打印结果不换行问题

    如下所示: 加入代码: pd.set_option('display.width', 5000) 补充知识:Python 实现不换行打印字符的3种简单方法 Python2.7中,执行完print后,会自动换行,如下代码会打印:abc\n123\n(其中\n代表换行) print ('abc') print ('123') 如何实现不换行打印字符呢,下面介绍Python2.7中 实现不换行打印字符的3种简单方法: 1.在print函数后加一个逗号,打印效果如同用空格代替了换行,如下代码会打印:ab

  • Python中的for循环详情

    目录 1.可迭代对象 1.1什么是可迭代对象 1.2怎么判断 2.字符串的for循环 3.列表的for循环 4.元组的for循环 5.字典的for循环 5.1keys() 5.2 values() 5.3 items() 6.range函数的for循环 6.1基础案例 6.2找出100以内能够被5整除的数 6.3高斯求和 7.多个for语句 8.列表推导式 9.for-else 10.实现三角阵列 11.99乘法表 for语句实际上解决的是循环问题.在很多的高级语言中都有for循环(for lo

  • Python 中 Elias Delta 编码详情

    目录 1.分步实施 第1步: 第2步: 第3步: 第4步: 语法: Elias Delta Encoding(X)= Elias Gamma encoding (1+floor(log2(X)) + Binary representation of X without MSB. 1.分步实施 首先,在为 Elias Delta 编码编写代码之前,我们将实现 Elias delta 编码. 第1步: 从数学库导入 log.floor 函数以执行对数运算. 从用户获取输入 k 以在 Elias Ga

  • 基于Python的Houdini插件开发过程详情

    本文以Python开发为例来进行说明,环境说明: (1) Python 3.x(我用的版本是 3.9 版本) (2)IDE开具 PyCharm(我用的版本是 PyCharm Community Edition 2021.3.2) (3)Houdini,我安装的版本是 Houdini 19.0.455 Python相关环境所在的位置(Shell.Source Editor.Panel Editor) Shell 就简单介绍一下.当执行 python 代码时,如果没有打开 Python Shell,

  • Python实现PDF扫描件生成DOCX或EXCEL功能

    目录 1.问题描述 2.实现流程 3.功能代码 3.1pdf转为图片 3.2表格图片文字识别到excel 4.案例说明 1.问题描述 应项目需求需要获取PDF扫描文件的内容,但寻遍整个网络能达到这种功能的产品,都要会员充值.苦于囊中羞涩也只好编写功能代码来实现了. 如PDF中表格图片图-1效果生成图-2 图-1 图-2 2.实现流程 整个步骤为:读取PDF文件->生成图片->ORC获取图片内容->写入Excel 3.功能代码 3.1 pdf转为图片 import fitz # pdf转为

  • Python面向对象中的封装详情

    目录 一封装的概念 二_和__对属性和方法的私有化 1.单下划线_ 2.双下划线__ 3.子类中访问父类的私有属性和私有方法 三访问及修改类的私有属性和私有方法 1.自定义公有方法 2.property 一 封装的概念 封装其实在我们的生活中处处都是,如电视机,电脑,手机等物品.我们通常只能看到其外部的形状,以及使用他们提供的功能,并不能看到其内部复杂的硬件组成,这些都是封装好的,不能让我们看到,避免我们的一些“特殊”操作,使其不能正常工作.编程源于生活.在python中也有对对象的封装操作,使

  • Spring中Bean扫描原理详情

    目录 前言 环境建设 正式开始 configureScanner 第一段代码 第二段代码 第三段代码 第四段代码 parseTypeFilters doScan findCandidateComponents For遍历每一个资源 isCandidateComponent(MetadataReader metadataReader) 继续后面的逻辑 isCandidateComponent(AnnotatedBeanDefintion) 继续后面的逻辑 doScan 继续后面的逻辑 doScan

随机推荐