admin管理员组文章数量:1794759
【案例】一个超级好用的工具 —— 给程序员用的计算器
文章目录
- 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版权声明:本文标题:【案例】一个超级好用的工具 —— 给程序员用的计算器 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686574301a83469.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论