我的任务:
编写一个简短的 Python 函数 minmax(data),它接受一个或多个数字的序列,并以长度为 2 的元组的形式返回最小和最大的数字。不要在实施解决方案时使用内置函数 min 或 max。
这是代码:
def minmax():
data = input("Enter a list of any input > ")
max, min = data[0]
for x in data:
if x > max:
max = x
elif x < min:
min = x
print (max, min)
minmax()
这给了我 ValueError: not enough values to unpack (expected 2, got 1)
。我该如何解决?
原文由 Mozammil Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议
您使用了错误的语法。我相信您要做的是将
min
和max
初始化为列表的第一个元素。您使用的赋值是多重赋值——左边有两个变量,右边必须有两个值。但是,您希望用户输入就可以了;只需
split
输入您选择的分隔符,然后将其用于split
。另外,请记住将值从字符串转换为整数(留给学生作为练习)。
您给出的错误的重要语法是
现在 你可以继续你的循环了。