【經驗】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理解爲同一行的。
發佈了139 篇原創文章 · 獲贊 48 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章