当前位置: 首页 > news >正文

我用“两行”代码“写”了个error_tip——系统异常“抛售机制”(带色彩)

#!/usr/bin/env python3# coding: utf-8''' filename = 'int_calculator.py' author = '梦幻精灵_cq' startdatetime = '2026-03-8 09:48:55' enddatetime = '2026-03-8 10:18:03' '''fromosimportget_terminal_size width=get_terminal_size().columns color=lambdac=90:f"\x1b[{c}m"fromto_intimportto_int# 加载“自研”“float → int”工具frombalgorimportbalgor# 加载“自研”“float → int”工具frommydecimalimportmydecimal# 加载“自研”int精致运算工具(类python.decimal.Decimal)fromosimportget_terminal_size width=get_terminal_size().columnsdeferror_tip(name:str,# 异常titlen:int=6,# name中的双宽字符数m:int=0,# nameansi-color终端渲染状态机设定指令隐形宽度(对系统len函数弱智的是补偿)e:str='',# python系统抛出异常信息字符串):''' 异常抛售函数 '''name=(f"\n\n{f'{name}':-^{width-n+m}}"if'\x1b['innameelsef"\n\n{color()}{f'{color(31)}{name}{color()}':-^{width-n+10}}")# 智能控色三元raiseValueError(name+((f"\n\n解释器异常信息:{color('36;2')}{e}"f"\n\n{color()}{'':-^{width}}{color(0)}")ifeelse'\n')# 没有e,不打印此行)defparse_value(value:str,# 字符数值)->str|tuple:''' 字符串数值解析 '''result=lambdasign,value:(sign,_)if' 'notin(_:=value.replace(sign,'').strip())else''if'+'invalue:value=''.join(result('+',value))elif'-'invalue:value=''.join(result('-',value))elif'*'invalue:value=result('*',value)elif'/'invalue:value=result('/',value)ifvalue:returnvalueelse:#error_tip('表达式“数值串中间空格”错误', 12)error_tip(f'{color()}表达式“{color(36)}数值串中间空格{color()}”错误',12,15)print(f"\n{parse_value(' + 5.5656')=}"f"\n{parse_value(' - 5.5603e56')=}"f"\n{parse_value('* 5.5603e56')=}"f"\n{parse_value(' /5.56036')=}")input(f"\n{parse_value(' /5.560 3 56')=}"# 数值中间有空格的错误形式)
  • 效果截屏一:

  • 效果截屏二:

  • 效果截屏三:

http://www.jsqmd.com/news/464445/

相关文章:

  • 从扫地机器人到AGV:Cartographer多分辨率子图在商业产品中的实战优化
  • 从数学到代码:最大公约数问题的多种解法与性能对比(C++/Python示例)
  • 避坑指南:VMware虚拟机安装CentOS7常见错误及解决方法
  • “干饭不扶碗,会『穷一辈子』”——奇葩习俗看ai应用『编码逻辑』
  • Faiss向量搜索实战:5分钟搞定百万级图片相似度匹配(附Python代码)
  • Aravis相机库从安装到实战:解决meson和GStreamer依赖的完整指南
  • 用MINE算法提升GAN生成质量:互信息神经估计的实战应用
  • 2026薪酬管理系统哪家好?中国主流厂商深度分析
  • 高等微积分 II 困难知识点 / 常用做题方法总结
  • CANoe DBC文件深度整合指南:从信号解析到自动化测试
  • EPLAN工具栏隐藏技巧:这样调整让你的工作区更清爽
  • 金融级VS互联网级:用真实业务场景测试TiDB和OceanBase的极限性能
  • Nginx反向代理玩转SMB:Win10系统端口转发避坑全记录(含开机自启技巧)
  • 实体门店避坑指南:一份客观的“长沙小红书代运营推荐”实测名单 - 企业推荐官【官方】
  • ArcGIS叠加分析实战:5分钟搞定土地利用与地形数据的空间关联
  • WPF游戏界面开发:用UniformGrid轻松实现2048游戏棋盘布局(附完整源码)
  • SnowNLP实战:解锁中文文本处理的Python利器
  • 基于Itext7的PDF表单智能填充:构建中文字体自动适配引擎
  • 福建烯景智研推全矩阵石墨烯方案:消费电子之后,剑指AI数据中心热管理 - 企业推荐官【官方】
  • Linux环境下Zabbix Agent2离线编译全攻略:从依赖包准备到常见报错修复
  • Zabbix中文界面配置避坑指南:从乱码到完美显示楷体监控图表
  • 【实测高效】C盘爆红变红,C盘瘦身清理解决方案
  • 2026-03-11
  • 贾子哲学(Kucius Philosophy):不是新理论,是文明认知操作系统的重装
  • 【DirectX修复工具增强版】d3dx9_43.dll 丢失,DirectX 错误解决方法
  • 雷达信号处理实战:用MATLAB绘制单脉冲模糊函数(附完整代码)
  • VMware Workstation 16 安装 Ubuntu 20.04 保姆级教程(含常见问题解决)
  • 用STM32CubeMX快速配置HC-SR501人体传感器(附避坑指南)
  • Ubuntu挂载目录数据突然消失?手把手教你用ext4文件系统恢复(附避坑指南)
  • 智能电商客服正在成为电商企业的新基础设施