admin管理员组

文章数量:1794759

【案例】一个超级好用的工具 —— 给程序员用的计算器

【案例】一个超级好用的工具 —— 给程序员用的计算器

文章目录
    • 1. 前言
    • 2. 源码展示
    • 3. 演示用例

1. 前言

主要目的是解决不同类型数字(十进制、十六进程、二进制)相互计算时换算麻烦的问题,以及针对计算结果计算其十进制、十六进制、二进制大小和以可读形式展现其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

本文标签: 好用计算器程序员案例工具