#!/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 widthget_terminal_size().columns colorlambdac90:f\x1b[{c}mfromto_intimportto_int# 加载“自研”“float → int”工具frombalgorimportbalgor# 加载“自研”“float → int”工具frommydecimalimportmydecimal# 加载“自研”int精致运算工具类python.decimal.Decimalfromosimportget_terminal_size widthget_terminal_size().columnsdeferror_tip(name:str,# 异常titlen:int6,# name中的双宽字符数m:int0,# nameansi-color终端渲染状态机设定指令隐形宽度对系统len函数弱智的是补偿e:str,# python系统抛出异常信息字符串): 异常抛售函数 name(f\n\n{f{name}:-^{width-nm}}if\x1b[innameelsef\n\n{color()}{f{color(31)}{name}{color()}:-^{width-n10}})# 智能控色三元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: 字符串数值解析 resultlambdasign,value:(sign,_)if notin(_:value.replace(sign,).strip())elseifinvalue:value.join(result(,value))elif-invalue:value.join(result(-,value))elif*invalue:valueresult(*,value)elif/invalue:valueresult(/,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)}# 数值中间有空格的错误形式)效果截屏一效果截屏二效果截屏三