[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列

简介: [oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列

字体样式

回忆上次内容

  • 上次了解了一个新的转义模式
  • \33 逃逸控制字符 esc
  • esc 让输出 退出标准输出流
  • 进行控制信息的设置
  • 可以清屏
  • 也可以设置光标输出的位置

  • 还能做什么呢?
  • 可以设置字符的颜色吗???🤔

查看细节

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

具体控制

  • \033[CSI
  • CSI n m
  • CSI 之后的是ansi给的关于字体样式的设置细节

  • 上图中的 CSI
  • Control Sequence Introducer
  • 控制序列前导符
  • CSI 就是 \033[
  • 上图中的 n 对应
  • 0-10的一个数字
  • 上图中的m 说明
  • 这是 要进行 外观设置
  • 这个 部分属于
  • SGR (Select Graphic Rendition) parameters
  • 选择图形渲染 参数
  • 正如上次
  • H 控制位置
  • n从1-10
  • 具体是 设置了些 什么呢?

具体设置

  • 从1m 到10m

  • 我们 试试

1m、0m

  • 结构是 \033[1m
  • \033是逃逸字符
  • 1 对应着 增亮或变粗
  • 0 对应着 还原
  • m 是 固定的格式要求
  • 好像颜色 是有点 不一样

  • 我可以 把\033 简化为 \e 么?
  • 回到python游乐场

尝试\e

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

  • shell中 支持\e
  • 还是 回到游乐场

2m

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

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

编写程序

  • i%3 是让i对于3取余数
  • 得到0、1、2三种可能
import time
for i in range(100):
    csi = "\033["
    color = str(i % 3)
    print(csi + color + "moeasy")
    time.sleep(0.2)
  • i 从1到100
  • color在"0"、“1”、"2"中 循环
  • 设置文字在"正常"、“亮”、"暗"中 循环
  • 冷却时间是 0.2s

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

bb

  • 可以 看看这个
sudo apt install bb
bb
  • 里面 用字符画风格
  • 实现 三维旋转

  • 应该是 视频按帧 转化过来的
  • 很好玩!
  • 亮和暗 没有那么规律
  • 引入 随机乱序

引入随机

  • import random

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

随机翻倍

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

  • int(random.random()*3 )
  • 得到 {0, 1, 2}
  • (0 或 1 或 2)

乱序

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

效果

  • 这下确实 乱了起来😄

  • 而且是
  • 毫无规律地
  • 乱了起来
  • 看看 后面
  • 还有什么好玩

总结

  • m 可以改变字体样式
  • 0-10 之间设置的都是字体效果
  • 0 重置为默认
  • 1 变亮
  • 2 变暗

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

  • 真的可以blink闪烁吗?👁
  • 我们下次再说!👋
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial

目录
相关文章
|
12天前
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
26 1
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
12天前
|
机器学习/深度学习 数据采集 算法
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
本文介绍了一个基于Python的时间序列模型,用于分析和预测2021-2022年重庆地区的气温变化趋势,通过ARIMA和LSTM模型的应用,揭示了气温的季节性和趋势性变化,并提供了对未来气温变化的预测,有助于气象预报和相关决策制定。
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
|
1天前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
6 2
|
13天前
|
算法 Python
【Leetcode刷题Python】剑指 Offer 33. 二叉搜索树的后序遍历序列
本文提供了一种Python算法,用以判断给定整数数组是否为某二叉搜索树的后序遍历结果,通过识别根节点并递归验证左右子树的值是否满足二叉搜索树的性质。
11 3
|
13天前
|
Python
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
本文介绍了如何通过观察均值和方差的变化、ADF单位根检验、KPSS检验以及差分操作来判定时间序列数据是否为平稳或非平稳,并提供了Python代码示例进行实际检验。
26 0
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
|
13天前
|
数据采集 算法 数据挖掘
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛B题的Python代码分析,涉及美国纽约公共自行车使用量的时间序列预测、网络分析和聚类分析。
22 0
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
|
8天前
|
程序员 Shell 开发工具
[oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数
回顾早期计算机操作员多为女性,她们甚至发明了“bug”这个词。为了体验调试过程,我们故意在Python脚本中引入了一个拼写错误,并通过直接运行程序遇到了`NameError`。 通过`until`命令,我们可以快速跳转到指定行执行,这对于大型项目非常有用。此外,`continue`(或简写`c`)命令则会一直执行到下一个断点或程序结束。我们还可以在代码中使用`breakpoint()`设置断点,配合`continue`命令使用,实现快速跳转至特定位置进行调试。 这些技巧使调试过程变得高效且有趣,如同解开谜题一般。下次我们将探讨如何在调试过程中动态设置与取消断点。
18 0
|
14天前
|
Python
【Leetcode刷题Python】674. 最长连续递增序列
LeetCode 674题 "最长连续递增序列" 的Python解决方案,使用动态规划算法找出给定整数数组中最长连续递增子序列的长度。
33 0
|
8天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
|
1天前
|
Shell 数据处理 C++
【震撼揭秘】Python正则VS Shell正则:一场跨越编程边界的史诗级对决!你绝不能错过的精彩较量,带你领略文本处理的极致魅力!
【8月更文挑战第19天】正则表达式是文本处理的强大工具,在Python与Shell中有广泛应用。两者虽语法各异,但仍共享许多基本元素,如`.`、`*`及`[]`等。Python通过`re`模块支持丰富的功能,如非捕获组及命名捕获组;而Shell则依赖`grep`、`sed`和`awk`等命令实现类似效果。尽管Python提供了更高级的特性和函数,Shell在处理文本文件方面仍有其独特优势。选择合适工具需根据具体需求和个人偏好决定。