You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于双条件的For循环实现:按指定步数循环打印数组元素

解决数组循环打印时的索引越界问题

错误原因

你的代码存在两个问题:

  • 变量名笔误:定义的数组是ex_ar,但循环里误用了sayi[i];
  • 索引越界:数组ex_ar长度为3,有效索引仅为0、1、2。当step=6时,循环变量i会遍历0-5,当i≥3时,ex_ar[i]超出数组索引范围,触发IndexError。

解决方案

使用**取模运算符%**实现索引的循环复用。取模运算会将循环变量对数组长度取余,结果始终落在数组的有效索引范围内(0到数组长度-1),彻底解决越界问题。

正确代码示例

ex_ar = [1, 2, 3]
step = 5
arr_len = len(ex_ar)
for i in range(step):
    print(ex_ar[i % arr_len])

当step=5时,输出符合预期:

1
2
3
1
2

当step=6时,输出为:

1
2
3
1
2
3

原理说明

取模运算i % arr_len的核心作用是让索引循环复用:

  • i=3时,3%3=0,对应数组第一个元素;
  • i=4时,4%3=1,对应数组第二个元素;
  • i=5时,5%3=2,对应数组第三个元素;
  • 以此类推,实现数组元素的循环遍历。

内容的提问来源于stack exchange,提问作者Fatih G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:10:26