Lua中表中多个输入

我是Lua的新手,我有一个作业,其中一个问题让我困惑不已:

“一个程序要求用户重复输入学生的成绩,当用户输入999时停止,然后程序应计算并显示输入的成绩数量、最高分、最低分和平均分数。如果用户输入的分数小于零或大于100,请显示错误消息。”

我一直在做这个问题已经一个星期了,但还是无法弄清楚该怎么做,而且还要在晚上的11:59之前交作业。任何的见解和方向都会很好。

-我如何在一个可增长的表(scores={})中输入多个值?当用户输入999并结束重复循环后,该表的大小由变量s的输入数量给出。这实际上是我的最大问题。

我的代码:

 local scores = {}, avg

   repeat
    io.write("输入分数")
local s = tonumber(io.read())  --输入并转换数据类型
    print(s, type(s))     --s值,检查输入类型

if(s < 0 or s > 100) then
print("错误。")
end

    until (s == 999)

for i = 0, #s, 1 do
sum = 0
if s then
    sum = sum + s
end

end

-- -----------------------------------------------------------尝试找到将s值放入分数表中的方法-----------------------------------------------------------------------------------------
--[[scores[#scores+1] = s  ----尝试1
print (scores)

for i = 0, #s, 1 do    ----尝试2
    scores{s} = s[i]
print (i, scores)                                                   --尝试了多种不同的方法
                                                                       --但都得到了相同的数字,只打印出最后一个输入数字的内存位置
end

for i, s in ipairs (scores) do   --尝试3
print (i, s)
end

for i = 0, #s, 1 do
sum = 0
if s then
    sum = sum + s
end

end --]]
 -- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------

--[[function average(myTable)
local sum = 0

for i in scores do

sum = sum + i
end
return (sum / #scores)
end

print ("表中的值的数量为"..#scores)
print ("分数的平均值是"..average(s))
print ("表中的最大值为"..math.max(s))
print ("表中的最小值为"..math.min(s))

  table.maxn(scores), table.minn(scores)
--]]

io.write("请按回车键继续")
io.read()
点赞