Python3 在 for 循环中转换为 TI Basic Store 函数很奇怪(斐波那契数列)

Python3 translating to TI Basic Store function in for loop being weird (Fibonacci's sequence)

我刚刚将斐波那契数列从 python3 转换为 TI Basic,但是当我尝试对 python 中的迭代器变量执行类似于“+=”运算符的函数时,它的行为有点奇怪我在哪里使用商店功能。 下面是我的 TI 代码:

Input "Enter number of terms: ",N
0→A
1→B
0→I
If N≤0:Then
Disp "Please enter a positive integer"
End
If N=1:Then
Disp "Fibonacci sequence upto",N
Else:
Disp "Fibonacci sequence:"
For(I,0,N-1)
Disp A
A+B→C
B→A
C→B
I+1→I
End
End 

当我输入 3 时,输出为:

0
1

而不是

0
1
1

如果我删除或更改此行,代码将起作用:

I+1→I

I→I

为什么这会导致 for 循环忽略一次迭代而不是从这次迭代开始? 下面是对应的python代码:

#Fibonacci Sequence

N = int(input("Enter number of terms: "))
A= 0
B = 1
I = 0

if N <= 0:
  print("Please enter a positive integer")
if N == 1:
  print("Fibonacci sequence upto",N)
else:
  print("Fibonacci sequence:")
  for I in range(N):
      print(A)
      C = A + B
      A = B
      B = C
      I += 1

(我知道 I += 1 是不必要的,但这让我很好奇为什么它在 TIBasic 语言中不起作用)

原python斐波那契数列代码: https://www.programiz.com/python-programming/examples/fibonacci-sequence

ti basic 中的 for 循环通过执行 i = i+1 来迭代 i。

python 中的 for 循环将 i 设置为 range 生成的序列中的一个值。

也就是说 ti代码更类似于

for(let i=0; i<n; i++){
  
}

并且 python 脚本更类似于

let n = [1,2,4,5, ... n]

for(let ni=0; ni<n.length; ni++){
  let i=n[ni];
}

您可以看到在上面的 python 示例中,'i' 如何在每次迭代时重置为列表中的值。在 ti 示例中,'i' 用于跟踪迭代状态。