我正在写一个来自Hackerrank的代码,代码如下
def miniMaxSum(arr):
minsum,maxsum=0
arr.sort()
for i in range(4):
minsum+=arr[i]
print(minsum)
for j in range(1,5):
maxsum+=arr[i]
print(maxsum)
if __name__ == '__main__':
arr = list(map(int, input().rstrip().split()))
miniMaxSum(arr)
我们应该从五个元素中的四个元素中找出最小和和最大和 但它给了我以下的错误
Traceback (most recent call last):
File "solution.py", line 24, in <module>
miniMaxSum(arr)
File "solution.py", line 11, in miniMaxSum
minsum,maxsum=0
TypeError: 'int' object is not iterable
我使用范围函数正确,但我得到的错误。你知道吗
您可以通过执行
minsum, maxsum = 0
得到这个错误的原因。 您必须使用序列(例如list、tuple、dict或range)。Python将对其进行迭代,然后将相应的值赋给变量。当然,左侧和右侧的元素数必须相同。如果只有一个,那就是一个序列。你知道吗正如评论所说,您可以执行
minsum, maxsum = 0, 0
。你知道吗当然,不涉及Range()。你知道吗
除此之外,您还可以执行以下操作:
它比使用范围和索引更好。我建议您按照PEP8推荐的函数名(
mini_max_sum
而不是miniMaxSum
:PEP8 function and variable names相关问题 更多 >
编程相关推荐