【发布时间】:2021-05-17 18:12:09
【问题描述】:
*#查找最大和最小标记的函数 #从一个列表输入,然后作为参数传递给函数 *
def marks(*args):
print(args)
print(max(args))
print(min(args))
#marks input
mymarks = list(map(int,input("Enter the marks of all subjects: ").split()))
**#function call**
marks(mymarks)
Output:
Enter the marks of all subjects: 67 77 89 56 40
([67, 77, 89, 56, 40],)
[67, 77, 89, 56, 40]
[67, 77, 89, 56, 40]
【问题讨论】:
-
您希望用户手动输入列表吗?还是作为列表参数输入?
-
我希望用户手动输入,然后代码会自动将输入转换成列表。
-
你知道
*args是做什么的吗?这意味着所有位置参数都将作为单个元组传入,然后您需要对其进行解包。在您的情况下,它将是一个包含单个数字列表的元组。简单的解决方法是删除*args,并接受一个列表参数,例如numbers。 -
当函数接受 n 个参数时,您传递了 1 个类型为列表的参数。需要解压
marks(*mymarks)等列表或将方法改为def marks(arg)
标签: python list function dictionary max