鱼C论坛

 找回密码
 立即注册
查看: 32|回复: 5

[已解决]怎么可能错?

[复制链接]
发表于 2026-9-26 16:21:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def times(s:list[int], n:int = 3) -> list:
        return s * n
print(times([1, 2, 3]))



PYTHON说我错了,我到现在都不知道我错在那儿
最佳答案
2026-9-26 16:23:43
贝尔0703 发表于 2026-09-26 16:23
但小甲鱼的屏幕里是这样的呀


小甲鱼屏幕里如果真是 print(times()),那前面的函数定义一定不是你现在写的这个。你可以暂停视频,逐字对一下。

常见情况有两种:

1. 调用时其实传了参数:

  1. print(times([1, 2, 3]))
复制代码

这样才会正常输出 [1, 2, 3, 1, 2, 3, 1, 2, 3]。

2. 函数定义里 s 有默认值:

  1. def times(s: list = [], n: int = 3) -> list:
  2.     return s * n
复制代码

这时 times() 才不会报错。

你现在写的 s: list 只是类型提示,不是默认值。类型提示写成 s: list 和 s,在“有没有默认值”这件事上完全一样。

所以关键看两点:小甲鱼调用 times() 时括号里有没有东西?函数定义里 s 后面有没有写 = 默认值?如果都没有,那 Python 报错就是对的。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-9-26 16:22:03 | 显示全部楼层
times() 调用时没有传入 s,而 s 在函数定义里没有默认值,所以 Python 会报错:缺少必需的位置参数 s。

函数定义:

  1. def times(s: list, n: int = 3) -> list:
  2.     return s * n
复制代码


这里 s 是必需参数,n 有默认值 3。调用 times() 相当于只给了 n 默认值,但 s 没给,所以报错。

正确调用应该传入 s,例如:

  1. print(times([1, 2, 3]))
复制代码

这样会输出 [1, 2, 3, 1, 2, 3, 1, 2, 3]。

类型注解 s: list 只是提示,并不会让参数变成可选。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-9-26 16:23:36 | 显示全部楼层
但小甲鱼的屏幕里是这样的呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-9-26 16:23:43 | 显示全部楼层    本楼为最佳答案   
贝尔0703 发表于 2026-09-26 16:23
但小甲鱼的屏幕里是这样的呀


小甲鱼屏幕里如果真是 print(times()),那前面的函数定义一定不是你现在写的这个。你可以暂停视频,逐字对一下。

常见情况有两种:

1. 调用时其实传了参数:

  1. print(times([1, 2, 3]))
复制代码

这样才会正常输出 [1, 2, 3, 1, 2, 3, 1, 2, 3]。

2. 函数定义里 s 有默认值:

  1. def times(s: list = [], n: int = 3) -> list:
  2.     return s * n
复制代码

这时 times() 才不会报错。

你现在写的 s: list 只是类型提示,不是默认值。类型提示写成 s: list 和 s,在“有没有默认值”这件事上完全一样。

所以关键看两点:小甲鱼调用 times() 时括号里有没有东西?函数定义里 s 后面有没有写 = 默认值?如果都没有,那 Python 报错就是对的。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-9-27 01:32:36 | 显示全部楼层
贝尔0703 发表于 2026-9-26 16:23
但小甲鱼的屏幕里是这样的呀

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-9-27 12:47:04 | 显示全部楼层

不是,你怎么了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-10-10 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表