Wolfram mathematica Mathematica Do/For循环,带“;删除“;或;删除“;不起作用 initlNum453=List[]; num1=2; (*Pt1,使initlNum充满良好变量的初始工作*) 算法num=1; 对于[i7=1,i7

Wolfram mathematica Mathematica Do/For循环,带“;删除“;或;删除“;不起作用 initlNum453=List[]; num1=2; (*Pt1,使initlNum充满良好变量的初始工作*) 算法num=1; 对于[i7=1,i7,wolfram-mathematica,Wolfram Mathematica,您需要编写如下内容 initlNum453 = List[]; num1 = 2; (*Pt1, initial work to make initlNum full of good variables*) algorithmicNum = 1; For[i7 = 1, i7 <= (num1 + 1)^2, i7++, AppendTo[initlNum453, algorithmicNum]; If[((algorithmicNum) == (num1 + 1)), algorithm

您需要编写如下内容

initlNum453 = List[];
num1 = 2;
(*Pt1, initial work to make initlNum full of good variables*)
algorithmicNum = 1;
For[i7 = 1, i7 <= (num1 + 1)^2, i7++,
AppendTo[initlNum453, algorithmicNum];
If[((algorithmicNum) == (num1 + 1)), algorithmicNum = 1, 
 algorithmicNum++];
];

(*Pt2, delete unneeded variables*)
deleteValue = 1;
Do[
Delete[initlNum453, deleteValue];
 deleteValue = (deleteValue + num1 + 2);
 , {num1 + 1}
]

哇,这很管用!你能解释一下为什么我需要在循环内部显式指定变量(对不起,我现在忘记了确切的术语)吗?是不是在循环外部没有更新变量(这在java背景下会很奇怪,因为我之前已经实例化了变量)?因为同样,如果我在循环之外这样做,我不必写。这与循环无关。
Delete
不会将输入表达式重置为结果。它更像是
Append
,而不是
AppendTo
initlNum453 = Delete[initlNum453, deleteValue]