m0_74416957 2022-12-01 10:59 采纳率: 100%
浏览 18
已结题

用for循环遍历时,range里面的len(s),下面代码如果要用索引取到i+1位时,有时候len(s)-1才能正确输出结果,有时候不减1也不报错,结果也正确?

img

img


像这两种情况,一个减1,一个不减1。
请问怎么判断什么时候应该减1,什么时候不用减1?

  • 写回答

1条回答 默认 最新

  • 於黾 2022-12-01 11:22
    关注

    那要看你循环里写什么代码呀
    比如数组长度是n
    如果你代码里用到了[i+m]这种结构,那你循环的最大值就只能是n-m-1,否则i+m不越界了吗
    同理,如果你索引用到了[i-a],那么初始值就必须从a开始,否则i-a出负数了
    至于到底为什么要写i+m和i-a,这都是围绕着算法来的
    比如你想相邻两个元素互相比较,那你要么比较i和i+1,要么比较i和i-1,其实算法是一样的,但是由于写法的不同,i的含义是不同的
    i和i+1,那么i指代相比较的两个数里左边那个数的下标
    i和i-1比较,那么i是右边那个数的下标

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 12月1日

悬赏问题

  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 写51单片机程序代码,代码好难,需要外部中断还有电子时钟的,还有按键修改电子时钟,请大家积极讨论
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?
  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)