|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def times(s:list[int], n:int = 3) -> list:
return s * n
print(times([1, 2, 3]))
PYTHON说我错了,我到现在都不知道我错在那儿
小甲鱼屏幕里如果真是 print(times()),那前面的函数定义一定不是你现在写的这个。你可以暂停视频,逐字对一下。
常见情况有两种:
1. 调用时其实传了参数:
这样才会正常输出 [1, 2, 3, 1, 2, 3, 1, 2, 3]。
2. 函数定义里 s 有默认值:
- def times(s: list = [], n: int = 3) -> list:
- return s * n
复制代码
这时 times() 才不会报错。
你现在写的 s: list 只是类型提示,不是默认值。类型提示写成 s: list 和 s,在“有没有默认值”这件事上完全一样。
所以关键看两点:小甲鱼调用 times() 时括号里有没有东西?函数定义里 s 后面有没有写 = 默认值?如果都没有,那 Python 报错就是对的。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|