while 1:
n = float(input())
print((1+1/n)**n)
浮点数本身就是有误差的
python浮点数能保留有效数字位数是有限的,只能保留15位有效数字
你输入16位9999999999999999
用float()会转成指数形式1e+16
也就是10000000000000000
1+1/10000000000000000
= 1.0000000000000001 有17位数字, 但是只能保留15位有效数字
就变成1.00000000000000, 也就等于 1.0 了. 1.0**n还是等于 1.0
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!