(Lua 笔记):while、for、repeat...until 循环、循环嵌套

目录

while 循环

for循环

数值for循环

泛型for循环

repeat...until 循环

循环嵌套


while 循环

  •  while 循环语句在判断条件为 true 时会重复执行循环体语句
  • while 循环语法:
while(condition)
do
   statements
end
  • statements(循环体语句) 可以是一条或多条语句,condition(条件) 可以是任意表达式,在 condition(条件) 为 true 时执行循环体语句。
  • 案例:
a=10
while( a < 20 )
do
   print("a 的值为:", a)
   a = a+1
end
a = 1
while (a<=20) do
	if (a%2==1) then
		print(a)
	end
	a=a+1
end

for循环

数值for循环

  • 数值 for 循环语法格式:
for var=start,end,step do
	循环体
end
  • 这里var会从start变化到end,每次变化一step进行
for i=1,10,2 do
	print(i)
end
for i=20,1,-3 do
	print(i)
end

泛型for循环

  • 泛型 for 循环通过一个迭代器函数来遍历所有值
  • 泛型 for 循环语法格式:
--打印数组a的所有值  
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end 
  • i是数组索引值,v是对应索引的数组元素值。
    • ipairs是Lua提供的一个迭代器函数,用来迭代数组。
  • 案例:循环数组 days:
#!/usr/local/bin/lua  
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
for i,v in ipairs(days) do  print(v) end   

repeat...until 循环

  • repeat...until 循环语句不同于 for 和 while循环
    • for 和 while 循环的条件语句在当前循环执行开始时判断
    • repeat...until 循环的条件语句在当前循环结束后判断
  • repeat...until 循环语法格式:
repeat
   statements
until( condition )
  • 循环条件判断语句(condition)在循环体末尾部分,所以在条件进行判断前循环体都会执行一次。
  • 如果条件判断语句(condition)为 false,循环会重新开始执行,直到条件判断语句(condition)为 true 才会停止执行
--[ 变量定义 --]
a = 10
--[ 执行循环 --]
repeat
   print("a的值为:", a)
   a = a + 1
until( a > 15 )
  • 结果输出10-15的值。

循环嵌套

  •  for 循环嵌套语法格式:
for init,max/min value, increment
do
   for init,max/min value, increment
   do
      statements
   end
   statements
end
  • while 循环嵌套语法格式:
while(condition)
do
   while(condition)
   do
      statements
   end
   statements
end
  • repeat...until 循环嵌套语法格式:
repeat
   statements
   repeat
      statements
   until( condition )
until( condition )
  • 案例:
for i=1,10 do
	for j=1,i do
		print(i)
	end
end
for i=1,10 do
	j=1
	while j<=i do
		print(i)
		j=j+1
	end
end

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/108487316