
【案例】一个超级好用的工具 —— 给程序员用的计算器
文章目录
- 1. 前言
- 2. 源码展示
- 3. 演示用例
主要目的是解决不同类型数字(十进制、十六进程、二进制)相互计算时换算麻烦的问题,以及针对计算结果计算其十进制、十六进制、二进制大小和以可读形式展现其KB、MB、GB的大小。
特点:随意输入表达式、不同进制混用、输出多个进制转换结果、能够输出不同的存储单位值。
2. 源码展示calculator.py
from ast import expr k = 4 def alin_4(s): # 每四位显示,高位补零 # 针对二进制和十六进制 r = [] s = '0'*(k - len(s) % k) + s if len(s) % k != 0 else s # print("s", s) for i in range(0, len(s) // k, 1): # print(s[-k*(i+1):len(s)-k*i]) r.append(s[-k*(i+1):len(s)-k*i]) r.reverse() return '_'.join(r) while True: result = int(eval(input())) BIN = '0b_' + alin_4(bin(result)[2:]) HEX = '0x_' + alin_4(hex(result)[2:]) print( "DEC:%.3f\\nBIN:%s\\nHEX:%s\\nKB:%.3f\\nMB:%.3f\\nGB:%.3f\\n" % (result, BIN, HEX, result / 1024, result /1024 / 1024, result /1024 / 1024 / 1024) ) 3. 演示用例Ctrl+C 结束输入。
PS E:\\Python_prj> python -u "e:\\Python_prj\\calculator.py" 1 + 0x2 + 0b0011 DEC:6.000 BIN:0b_0110 HEX:0x_0006 KB:0.006 MB:0.000 GB:0.000 2 + 4 + 8 + 16 + 32 + 64 DEC:126.000 BIN:0b_0111_1110 HEX:0x_007e KB:0.123 MB:0.000 GB:0.000 0xffff + 987654 + 0xFFFFFFFFFFFFFFFFFF DEC:4722366482869646262272.000 BIN:0b_0001_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0001_0000_0001_0010_0000_0100 HEX:0x_0100_0000_0000_0010_1204 KB:4611686018427388928.000 MB:4503599627370497.000 GB:4398046511104.001👁️ 阅读量:0
© 版权声明:本文《【案例】一个超级好用的工具 —— 给程序员用的计算器》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686574520a296212.html。