如何用Lua代码实现如图所示的图案输出?
Lua图案输出代码修改方案
原代码问题分析
- 多处循环拼接空字符串
"",无法输出构成图案的有效字符(比如星号*) - 空格计算逻辑冗余,第三个循环与第二个循环的空格数量重复,可合并优化
针对不同目标图案的修改方案
方案1:左右对称的双列星号图案
如果目标是输出左右各i个星号、中间填充空格的对称图案,修改后的代码如下:
local level = 5 for i = 1, level do local text = "" -- 拼接左侧星号 for j = 1, i do text = text .. "*" end -- 拼接中间空格:总长度为2*level,减去左右星号的总数量2*i for j = 1, 2*(level - i) do text = text .. " " end -- 拼接右侧星号 for j = 1, i do text = text .. "*" end print(text) end
输出效果:
* * ** ** *** *** **** **** **********
方案2:金字塔形星号图案
如果目标是输出中间密集、两侧空格的金字塔图案,修改后的代码如下:
local level = 5 for i = 1, level do local text = "" -- 拼接左侧空格 for j = 1, level - i do text = text .. " " end -- 拼接中间星号:每行星号数量为2*i-1 for j = 1, 2*i - 1 do text = text .. "*" end print(text) end
输出效果:
* *** ***** ******* *********
内容的提问来源于stack exchange,提问作者AKMKT9321
相关产品推荐
相关产品推荐

