TypeError: slice indices must be integers or None or have an __index__ method python 力扣中round函数失效

今天在力扣刷题时突然提示我

TypeError: slice indices must be integers or None or have an __index__ method
    temp = result[a:][::-1]
Line 13 in isPalindrome (Solution.py)
    ret = Solution().isPalindrome(param_1)
Line 38 in _driver (Solution.py)
    _driver()
Line 48 in <module> (Solution.py)
  • 仔细一看原来是我的math.ceil函数无法将浮点数转换为整数,经过尝试发现floor、ceil和round都会出现这样的问题。

  • 不过我习惯点击的是python而不是python3,我就在想是不是python版本的问题,但经过查询发现:

  • 在 Python 中,round() 和 ceil() 函数的返回值通常是整数,而不是浮点数。round() 函数用于将浮点数四舍五入到最接近的整数,而 ceil() 函数则返回大于或等于给定数字的最小整数。这两个函数在 Python 2 和 Python 3 中的行为是一致的。

  • 如果在使用 round() 或 ceil() 函数时发现它们返回了浮点数,这可能是因为输入本身就是一个浮点数,而 Python 在某些情况下会将整数和浮点数区分对待。

  • 例如,当你对一个浮点数进行四舍五入时,即使结果是一个整数,Python 也可能会将其表示为浮点数。

  • 总结,这应该是leetcode自己的问题,可以使用python3来解决,如果真的想用python就只能使用int函数强制转换类型。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值