函数的MinMax算法不能按预期工作

2024-05-19 08:37:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始编写代码来帮助我的儿子,我起草了几行代码来计算一个函数在一定间隔内的最小-最大值。 但是,显示的最小值不是整数,我不明白为什么。。。 代码如下:

a=float(input("Valeur de a ?"))
b=float(input("Valeur de b ?"))
pas=float(input("Valeur du pas ?"))
val_max=a**2
val_min=a**2
while a<b+pas:
    if a**2>val_max:
        val_max=a**2
    if a*2<val_min:
        val_min=a**2
    a=a+pas
print("Maximum :",val_max)
print("Minimum :",val_min)

下面是输出:

瓦莱尔德?4

巴勒德b?3

帕斯山谷?0.1 最大值:16.0 最小值:5.830945499626795e-30

为什么minvalue不是0而不是5.8^-30呢


Tags: 函数代码input间隔ifde整数val
1条回答
网友
1楼 · 发布于 2024-05-19 08:37:12

这是因为a=0的值会给出min=0,从未被测试过。 输入0.1作为pas的值时,它将转换为二进制表示,但1/10等于0.000110011。。。二进制的。程序将它四舍五入到0.000110011,也就是0.0999904632568359375。这样你就不会完全落在零上,也不会得到min的期望值

相关问题 更多 >

    热门问题