[oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列

news2024/10/6 18:32:49

字体样式

回忆上次内容

  • 上次了解了 一个新的转义模式

    • \033 逃逸控制字符 esc
  • esc 让输出

    • 退出 标准输出流
    • 进行 控制信息的设置
      • 可以 清屏
      • 也可以 设置光标输出的位置
  • 还能做什么呢?

    • 可以 设置 字符的颜色吗???🤔

图片描述

查看细节

  • 回忆
    • 控制序列 前导符\033[
  • \是转义字符
    • 要和 后面的内容
      • 一起 构成转义序列
  • \033 是转义序列
    • 转义转义
      • 转化含义
      • 转义序列\033对应的 字符含义 是Escape
      • 从标准输出流 逃逸 出去
  • 输出字符串时
    • 出现了 Escape
    • 能逃去到 哪里 呢?
  • 从 输出的字符串中 Escape 出去
    • 后面的内容 不是纯文本了
    • 而是 控制序列(Control Sequence)

具体控制

  • \033[CSI
    • Control Sequence Introducer
    • 控制序列前导符

图片描述

  • CSI n m
    • CSI 之后的是ansi给的关于字体样式的设置细节
  • 上图中的 n 对应
    • 0-10的一个数字
  • 上图中的m 说明
    • 这是 要进行 外观设置
      • 选择图形渲染 参数
      • SGR (Select Graphic Rendition) parameters
  • 上次
    • H 控制位置
  • 这次
    • m 控制外观
  • 具体怎么控制外观呢?

具体设置

  • 从1m 到10m

图片描述

  • 动手试试

1m、0m

  • 结构是 \033[1m
    • \033是逃逸字符
    • 1 对应着 增亮或变粗
    • 0 对应着 还原
    • m 是 固定的格式要求

图片描述

  • 好像颜色 是有点 不一样

图片描述

  • 我可以 把\033 简化为 \e 么?
  • 实践 出 真知

尝试\e

  • python游乐场中不能用\e

图片描述

  • 结论
    • \033 可以进入 字体控制模式
    • \e 目前 在python中 不支持
  • 但是 在shell中 呢?

在shell中

  • 在shell中
    • echo命令 支持\e

图片描述

  • python游乐场 中
    • 不支持"\e"
    • 只支持"\033"

2m

图片描述

  • 2 和 1 相反
    • 1m 更亮
    • 2m 更暗
    • 0m 还原

图片描述

    • 一会儿亮
    • 一会儿暗
  • 好像 挺好玩的

编写程序

  • 编辑一个py文件
    • 注意
      • 文件名 不能是time.py
      • 因为 我们要引入的包 叫做time
      • time.py 会让 python3 引入自己
import time
for i in range(100):
    csi = "\033["
    color = str(i % 3)
    print(csi + color + "moeasy")
    time.sleep(0.2)
  • i%3 是让 i对3取余
    • 得到0、1、2三种可能

代码

图片描述

  • i 从1到100
    • color在"0"、“1”、"2"中 循环
      • 设置文字在"正常"、“亮”、"暗"中 循环
    • 冷却时间是 0.2s

图片描述

  • 规律性很强
    • 其实 通过亮和暗
    • 可以得到 更好玩的东西

bb

  • 可以 看看bb 这个应用
    • 在shell中 安装bb
sudo apt install bb
  • 键入 bb 直接运行
    • bb里面 用字符画风格
      • 实现 三维旋转

图片描述

  • 应该是 视频按帧 转化过来的
    • 很好玩!
  • 可以 引入随机吗?

引入随机

  • 进入python游乐场
import random
help random
  • 先看看帮助文档

图片描述

  • random.random() 在 [0,1) 之间

图片描述

  • random.random()*2 在 [0,2) 之间
    • int(random.random()*2) 得到 整数
      • {0,1}
      • (0 或者 1)

随机翻倍

  • 想要让屏幕显示
    • 0或者1

图片描述

  • random.random() 在 (0,1) 之间
    • random.random()*2 在 [0,2) 之间
  • 再用int函数取整
    • 得到 {0, 1}
      • (0 或 1)

图片描述

  • 颜色的值 可以是
    • {0, 1, 2}
    • (0 或 1 或 2)
  • 这又应该如何取得呢?

乱序

  • 编辑一个py文件
    • 注意文件名不能是
      • time.py
      • random.py
import time
import random
while True:
    csi= "\033["
    color = int(random.random()*3)
    num = int(random.random()*2)
    print(csi + str(color) + "m" + str(num),end="")
  • 数字是
    • 0 或 1
  • 颜色是
    • 亮 \33[1m
    • 正常 \33[0m
    • 暗 \33[2m

效果

  • 这下确实 乱了起来😄

图片描述

  • 而且是
    • 毫无规律地
      • 乱了起来

纷乱

乱花渐欲迷人眼
浅草才能没马蹄

图片描述

  • 视觉表象看起来
    • 确实很乱
  • 想要 总结规律
    • 就要从视觉中抽象出来

总结

  • \033 xm 可以改变字体样式
    • 0m - 10m 之间设置的 都是字体效果
      • 0m 复原
      • 1m 变亮
      • 2m 变暗

图片描述

  • 从3m到10m
    • 又是什么效果 呢??

图片描述

  • 真的 可以让文字 blink闪烁吗?👁

  • 我们下次再说!👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/860604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3 组件基础简单应用

去官网学习→组件基础 | Vue.js 运行示例&#xff1a; 自定义组件 代码&#xff1a; MyComponent.vue <template><h2>MyComponent.vue 组件</h2> </template><script>// 导出export default{name:"MyComponent"} </script><…

Java一般用于postgis空间数据库通用的增删查改sql命令

目录 1 增加 2 删除 3 查询 4 更新 "public"."JGSQGW_Geo"为某模式下得表 一般postgrel有这样的设计模式 1 增加 #前端绘制出的数据插入 INSERT INTO "public"."JGSQGW_Geo" ( "geom","gridone","gridon…

prometheus告警发送组件部署

一、前言 要实现Prometheus的告警发送需要通过alertmanager组件&#xff0c;当prometheus触发告警策略时&#xff0c;会将告警信息发送给alertmanager&#xff0c;然后alertmanager根据配置的策略发送到邮件或者钉钉中&#xff0c;发送到钉钉需要安装额外的prometheus-webhook…

API HOOK技术在MFC程序破解过程中的应用

更新&#xff0c;修改了一下typora的上传脚本&#xff0c;把图片全部上传到看雪上了 本文已于2023-08-02首发于个人博客 图片加载不出来&#xff0c;放了一个PDF版本在附件里 文中有几张图片是动图&#xff0c;如果不会动&#xff0c;可以去我的个人博客看 最近破解了一个M…

Kettle lookup 流查询组件关键词匹配应用案例

Kettle 流查询组件lookup应用案例详解 需求说明 通过对初始的文本文件按照引用表匹配&#xff0c;过滤后的记录输入到表中。 解决方案 Step1&#xff1a;拖动表输入&#xff0c;配置要查询字段及表 Step2&#xff1a;文件文件输入&#xff0c;指定文本文件路径及字段名称、字…

DB-Engines 排名调查

目录 一、理论 1.DB-Engines排名 一、理论 1.DB-Engines排名 &#xff08;1&#xff09;概念 DB-Engines排名是数据库领域的流行度榜单&#xff0c;它对全球范围内的419款数据库&#xff08;截至2023年8月&#xff09;进行排名&#xff0c;每月更新一次&#xff0c;排名越靠…

简单程度与自负是否相关?探索STM32的学习价值

事实上&#xff0c;无论STM32是否简单并不重要&#xff0c;更重要的是我们能通过学习STM32获得什么。通过STM32&#xff0c;我们可以学习到许多知识&#xff1a;如果我们制作一个键盘或鼠标&#xff0c;我们可以学习USB协议。如果我们制作一个联网设备&#xff0c;我们需要学习…

想知道有关再营销活动的一切?看这一篇文章就够了

有没有想过怎样充分利用过去的流量&#xff1f;假设您开展了一场精彩的营销活动&#xff0c;并吸引了大量用户访问您的网站。但他们大部分都没有像你期望的那样完成交易。推出再营销活动&#xff0c;这就是您向那些已经接触过您的营销活动但尚未采取任何具体行动的人进行营销的…

代码随想录算法训练营第十四天|对树的初步认识

二叉树种类 在我们解题过程中二叉树有两种主要的形式&#xff1a;满二叉树和完全二叉树。 满二叉树 满二叉树&#xff1a;如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。 这棵二叉树为满二叉树&…

性能测评:腾讯云轻量应用服务器_CPU内存带宽流量

腾讯云轻量应用服务器性能如何&#xff1f;轻量服务器CPU内存带宽配置高&#xff0c;CPU采用什么型号主频多少&#xff1f;轻量应用服务器会不会比云服务器CVM性能差&#xff1f;腾讯云服务器网详解CPU型号主频、内存、公网带宽和系统盘存储多维对比&#xff0c;相对于CVM云服务…

机器人CPP编程基础-03变量类型Variables Types

机器人CPP编程基础-02变量Variables 全文AI生成。 C #include<iostream>using namespace std;main() {int a10,b35; // 4 bytescout<<"Value of a : "<<a<<" Address of a : "<<&a <<endl;cout<<"Val…

排序的介绍

排序算法介绍 排序是计算机内经常进行的一种操作&#xff0c;其目的是将一组“无序”的记录序列调整为“有序”的记录序列 粗暴理解 将杂乱无章的数据元素&#xff0c;通过一定的方法按照关键字顺序排列的过程叫做排序 排序分内部排序和外部排序&#xff0c;若整个排序过程不需…

4路光栅尺磁栅尺编码器5MHz高速差分信号转Modbus TCP网络模块 YL97

特点&#xff1a; ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 光栅尺5V差分信号直接输入&#xff0c;4倍频计数 ● 模块可以输出5V的电源给光栅尺供电 ● 高速光栅尺磁栅尺计数&#xff0c;频率可达5MHz ● 支持4个光栅尺同时计数&#xff0c;可识别正反转 ● 可网…

JD商品详情页面+关键词搜索商品列表API接口数据,详情页面数据返回值说明

作为一个工作助手&#xff0c;我无法直接为您提供实时的京东商品详情。您可以通过访问京东官方网站或使用API接口来查看商品的详细信息。每个商品的详情页面通常会包括以下内容&#xff1a; 1. 商品标题&#xff1a;商品的名称和简要描述。 2. 价格信息&#xff1a;包括原价、…

常见问题03:SpringBoot项目启动初始化数据(执行sql文件)

1、类ResourceDatabasePopulator介绍 使用外部资源中定义的 SQL 脚本填充、初始化或清理数据库。 调用addScript(org.springframework.core.io.Resource)以添加单个 SQL 脚本位置。调用addScripts(org.springframework.core.io.Resource…)以添加多个 SQL 脚本位置。请参阅此类…

通讯协议035——全网独有的OPC HDA知识一之聚合(四)平均值

本文简单介绍OPC HDA规范的基本概念&#xff0c;更多通信资源请登录网信智汇(wangxinzhihui.com)。 本节旨在详细说明HDA聚合的要求和性能。其目的是使HDA聚合标准化&#xff0c;以便HDA客户端能够可靠地预测聚合计算的结果并理解其含义。如果用户需要聚合中的自定义功能&…

Spring之事务管理

文章目录 前言一、事务及其参数含义1.事务的四个特性2.事务的传播行为&#xff08;propagation&#xff09;3.事务隔离性4.事务的隔离级别&#xff08;ioslation&#xff09;5.timeout&#xff08;超时&#xff09;6.readOnly&#xff08;是否只读&#xff09;7.rollbackFor&am…

Apache Maven:从构建到部署,一站式解决方案

目录 一、Maven介绍 1. Maven是什么&#xff1f; 2.Maven的作用&#xff1f; 二、Maven仓库介绍 2.1 库的分类 三、Maven安装与配置 3.1 Maven安装 3.2 Maven环境配置 3.3 仓库配置 四、Eclipse与Maven配置 五、Maven项目测试 5.1 新建Maven项目步骤及注意事项 5.…

单调递增的数字——力扣738

文章目录 题目描述解法题目描述 解法 #include<iostream> #include<string>using namespace std;int monotoneIncreasingDigits

WhatsApp 实时聊天小插件:快速触达客户的秘密

当您进入商店时&#xff0c;您希望销售人员会向您打招呼&#xff0c;或者至少在您需要时可以找到人提供帮助。对于电子商务商店&#xff0c;客户的期望不会降低。但谁应该担任 24-7的商店经理&#xff1f;实时聊天可以成为您的电子商务商店经理。 什么是 WhatsApp 实时聊天小插…