有关此代码无效的任何想法? 我一直收到错误
def boxCheck(number1,number2,number3):
if number1 * number2 * number3 == 0 or number1 < 0 or number2 < 0 or number3 < 0:
return False
else:
numbers = [number1, number2, number3]
sortedNumbers = numbers.sort()
trial1 = number1 * number2 * number3
trial2 = sortedNumbers[1] * sortedNumbers[1]
if trial1 == trial2:
return True
else:
return False
boxCheck(4,16,8)
答案 0 :(得分:5)
sort()
对 列表进行排序以及它不会返回任何内容(事实上,它会返回None
),因此变量sortedNumbers
将为None
。
你能做什么?你可以使用sorted()
,它将返回排序列表:
sortedNumbers = sorted(numbers)
注意:不要忘记打印结果:
print(boxCheck(4,16,8))
答案 1 :(得分:0)
以下是手册中有关排序方法的内容:
> Help on method_descriptor:
>
> sort(...)
> L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
> cmp(x, y) -> -1, 0, 1
您的陈述
sortedNumbers = numbers.sort()
导致没有任何内容保存到sortedNumbers。