【问题标题】:ampl looping, repeat until loop , syntax error放大循环,重复直到循环,语法错误
【发布时间】:2022-06-30 23:55:06
【问题描述】:

我刚开始使用ampl 并尝试了一些简单的算法基础知识。 为什么这样的重复直到循环不起作用?

param x=8 ;
repeat until x=0;  
    param x=x-1;

display x;

test.mod,第 3 行(偏移量 33): 语法错误 上下文:重复直到 x=0 >>> ;

【问题讨论】:

  • 虽然我不懂编程语言,但很可能你需要在repeat until x=0 的末尾使用冒号:(或者可能根本没有符号)而不是分号;声明
  • 感谢您的评论,但我已经尝试过类似的方法。

标签: ampl


【解决方案1】:

AMPL 中 repeat until 循环的语法如下(例如,参见 https://ampl.github.io/ampl-book.pdf 的第 262 页):

param x;
let x := 8;
repeat until x == 0 {
    display x;
    let x := x-1;
}
display x;

它将产生以下输出:

x = 8

x = 7

x = 6

x = 5

x = 4

x = 3

x = 2

x = 1

x = 0

请注意,param x = 8; 需要替换为 param x; let x := 8;,否则您将无法更改其值。

【讨论】:

    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2017-07-09
    • 2014-10-14
    相关资源
    最近更新 更多