#调用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()