编辑代码

#调用sys(系统)和os(操作系统)包
import sys, os
#调用math包
#注:一般在自己写程序时我们会使用numpy包来获取更好的数学支持
import math
#调用strcut包
#注意这个包大概率会经常用到,建议详细看一下官方文档
#https://docs.python.org/3/library/struct.html
import struct

#定义main函数
def main():
    # float和double存储数据时的误差问题请参考以下链接
    # https://www.runoob.com/w3cnote/float-and-double-different.html
    print("0.123567890123456789:\t",0.1235678901234567890123456789)
    
    # 数学精度问题,由存储精度和计算方式造成的,在做大小比对的时候要注意
    print("cos(90°):\t\t",math.cos(math.pi/2))
    
    # 数学范围问题
    # 如果搞错了数据类型在程序执行上可能不会引发错误,但结果会差很多
    # 经典故事:核平圣雄甘地 
    # https://zh.wikipedia.org/wiki/%E6%A0%B8%E5%B9%B3%E8%81%96%E9%9B%84%E7%94%98%E5%9C%B0
    # wiki打不开可以看下面的
    # https://www.163.com/dy/article/JL76A2SC05520ON9.html
    val = 0
    print("0-1= :\t\t\t",struct.unpack('B',struct.pack('b',val-1))[0])
    

#调用main函数
main()