gpt4 book ai didi

python - 隐藏测试失败,找不到缺陷

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:47 27 4
gpt4 key购买 nike

所以我的指令如下:

当 x 和 y 为整数时,我们对 z 的值感兴趣。编写一个函数 poly2max(a, b, c d),它采用指定 x 和 y 的最小值和最大值的参数。它应该返回 z 对从这些范围中选择的任何 x 和 y 取的最大值。例如,评估 poly2max(0,5,3,7) 将搜索从 0 到 5(包括 0 和 5)的 x 值,使用从 3 到 7 的 y 值(包括 3 和 7) 以找到此多项式函数的最大值。

我的代码通过了每一次公开测试和几乎每一次隐藏测试,但我找不到任何缺陷。

这是我的代码:

def poly2max ( a, b, c, d ):

results = []

for x in range( a, b ):
for y in range ( c, d ):

z = (-x**4 + 3*x**2 - y**4 + 5*y**2)
results.append( z )

if a == b:
if c == d:
x = a
y = c
z = (-x**4 + 3*x**2 - y**4 + 5*y**2)
return z

if (a, b, c, d ) == (0, 0, 0, 0):
return 0

if a == b:
for y in range ( c, d ):
x = a
z = (-x**4 + 3*x**2 - y**4 + 5*y**2)
results.append( z )
return max( results )

if c == d:
for x in range( a, b ):
y = c
z = (-x**4 + 3*x**2 - y**4 + 5*y**2)
results.append( z )
return max( results )

else:
return max( results )

最佳答案

如果您想要从 a 到 b 的所有值,包括 a 和 b,您应该使用 range(a,b+1)。

此外,您的代码比必要的要复杂得多。应该这样做:

def poly2max ( a, b, c, d ):
results = []
for x in range( a, b+1 ):
for y in range ( c, d+1 ):
z = (-x**4 + 3*x**2 - y**4 + 5*y**2)
results.append( z )
return max( results )

我在这里看到的唯一问题是 b < a 或 d < c,但似乎您可以保证不是这种情况,此外,一开始很容易检查。

关于python - 隐藏测试失败,找不到缺陷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42876377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com