我是 Maxima 的新手。我正在尝试编写一个循环,检查是否满足某些条件然后退出循环。
cp:for i:1 step 1 thru 10 do
block(if(i>6) then break()
else
print(i,"is less than 6"));
我想要输出:
1 小于 6
2 小于 6
3 小于 6
4 小于 6
5 小于 6
6 小于 6
但是当我运行上面的代码时:
打印6小于6后提示
输入 Maxima 断点。输入“退出”;恢复。
并在输入 exit 后;它会再次显示上面的消息
我希望代码能够完全从该循环中出来,而不是要求输入 exit;
提前谢谢你..
尝试使用
return(i)
而不是 break()
。另外, return
仅从包围它的块返回,因此您需要删除示例中的 block(...)
(无论如何都不需要)。我认为这有效:
cp: for i:1 step 1 thru 10
do if(i>6) then return(i) else print(i,"is less than 6");
这是我尝试过的,它有效,但仍然不是很优雅。
flag:1;
for k : 1 while k<=10*flag do
if (k>3) then (
print("break !"),
flag:0)
else
print (flag,k);