maxima - 如何在 Maxima 中打破循环

标签 maxima wxmaxima

我是 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 返回,因此您需要删除示例中的block(...)(无论如何都不需要)。我认为这有效:

cp: for i:1 step 1 thru 10 
      do if(i>6) then return(i) else print(i,"is less than 6");

关于maxima - 如何在 Maxima 中打破循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62884522/

相关文章:

gnuplot - wxMaxima + gnuplot = 带有扭曲的类似 Mathematica 的密度图

maxima - 如何在最大值中将分数显示为带分数?

arguments - (wx)最大: how to get consistent expressions using `args` ?

maxima - 将函数应用于 Maxima 中的命名参数列表

symbolic-math - Maxima 中的 Letsim 简化,发生了什么?

trigonometry - 用最大值求解三角函数项

maxima - Maxima 中数值表达式的非评估

maxima - 使用 Maxima 重新排列方程

maxima - wxMaxima:如何使用texput告诉tex1如何处理字符串?