【经验】lingo / lindo报错:invalid syntax

问题

学弟学妹们在用lingo做作业,遇到了一个报错(如图1、图2),并截图向我咨询:

在这里插入图片描述

上图为图1:原代码

在这里插入图片描述

上图为图2:运行结果

解决

解决方案:在第5行game()后加分号(“;”):

game(playerA, playerB):C;

成功解决,如下图。

在这里插入图片描述

上图为图3:没有报错,成功运行

经验、思考

其实lingo我并不熟悉,但这类问题是同学们(非软工/CS 专业)常犯的错误:

  • 一般来讲,刚接触“用代码进行计算”的同学会额外注意变量、逻辑上的设置;
  • 但是,常常会因为过于注意变量与逻辑,而忘记关注语法;
  • 况且如lingo / matlab这种工具,虽然是通过代码来设置解决方案,但是并没有很好地代码编辑环境,不能准确地纠错报错。

另外,我为什么能一下确定问题出在少了分号:

  1. 一般来讲,如果是invalid syntax语法错误,这个问题还是比较好办的;
  2. 对于
    A
    B
    这两行指令,如果报错是在B行的首个字符,并且错误类型是invalid syntax语法错误,那十有八九就是A行行末少了分号。
  3. 因为没有分号的话,计算机会把AB理解为同一行的。
发布了132 篇原创文章 · 获赞 36 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42815609/article/details/103247823