预计在那附近

use*_*101 -1 lua if-statement

我最近被朋友要求帮助在lua写一个程序找到完美的正方形,所以我拟定了这个:

print ("Select your maximum number")
x = io.read()
y=1
z={}
a=1

while y * y ~= x and y < x / 2
    then do
        y = y + 1
end
if y * y = x
    then do
        z[a] = x
        a = a + 1
end
x = x - 1
Run Code Online (Sandbox Code Playgroud)

为了测试这个程序,我补充道

print z[1]
Run Code Online (Sandbox Code Playgroud)

到最后.当我去测试这个程序时,我在第8行得到了以下错误:

预计在那附近

就在那附近.有人能告诉我哪里出错了吗?谢谢.

小智 5

您在该代码中有几个语法错误.第一个是while写成while foo > bar do,而if使用的语法if foo > bar then.

另一个错误是,在你的if陈述中,你有if y * y = x then.逻辑等于运算符==,所以它应该是if y * y == x.