weixin_51542019 2022-03-20 13:46 采纳率: 75%
浏览 29
已结题

如何更改type contract

def sort_and_pop(x: list, i: int) -> list:
x.sort()
return x.pop(i)

你的代码

lst = [23, 17, 3, 13, 11, 5, 7, 2, 19, 1]
lst = sort_and_pop(lst, 5)
lst = sort_and_pop(lst, 2)

如果您运行此代码,您会发现它会产生错误。
根据type contract,你的代码应该可以工作。但事实并非如此,因为函数类型协定有错误的类型注释。

更正函数类型协定(function type contract),以便从类型协定中清楚看到你的代码将不起作用。
(你的代码将并且应该仍然是对该功能的错误使用!)

如何更改函数方程的type contract

  • 写回答

2条回答 默认 最新

  • ash062 2022-03-20 14:27
    关注

    根据函数定义返回的是pop出的一个元素,类型注释里却返回的是列表,可改成(这里默认传入整数列表)

    def sort_and_pop(x: list, i: int) -> int:
        x.sort()
        return x.pop(i)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 修改了问题 3月20日
  • 修改了问题 3月20日
  • 展开全部

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?