Discuss / Python / 为什么最后显示测试失败

为什么最后显示测试失败

Topic source

def product(x): s=1 for y in x: s=sy return s

*被吃了

if product(5)!=5:
print('测试失败')

elif product(5,6)!=30: print('测试失败') elif product(5,6,7)!=210: print('测试失败') elif product(5,6,7,9)!=1890: print('测试失败') else: try: product() print('测试失败') except TypeError: print('测试成功')

1 测试失败

try: product() print('测试失败') except TypeError: print('测试成功') 你是错在这一步了,你再想想为什么其他人都要用*args

再请教下,product(x)函数,x是代表位置参数;product(※ x),*x代表可变参数;可变参数代表一个list或tuple,位置参数代表一个参数;product()参数缺省时,它们传入的值是怎样的呢?直接认为是空值吗?

def A(*args): print(args) a = A() print(a,type(a)) 你自己在IDE上试试这段代码就懂了。

大牛201601

#5 Created at ... [Delete] [Delete and Lock User]

上一章讲了“调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError” 所以,函数定义时要考虑到,如果没有参数要报错。


  • 1

Reply