📜  LISP 中的循环结构

📅  最后修改于: 2022-05-13 01:54:35.070000             🧑  作者: Mango

LISP 中的循环结构

公共 LISP 中的循环 for 构造用于迭代可迭代对象,类似于其他编程语言中的 for 循环。它可以用于以下用途:

  1. 这用于设置迭代变量。
  2. 它可用于有条件地终止迭代。
  3. 它可用于对迭代元素进行操作。

循环 For 结构可以有多种语法。

语法:

  • 要遍历列表:
(loop for variable in input_list
  do (statements/conditions)
)

这里,

  1. input_list是要迭代的列表。
  2. 变量用于跟踪迭代。
  3. 语句/条件用于对迭代元素进行操作。
  • 要迭代给定范围:
(loop for variable  from number1 to number2
 do (statements/conditions)
)

这里,



  • NUMBER1是起始号码和号码2是从范围内的结束号码。
  • 变量用于跟踪迭代。
  • 语句/条件用于对迭代元素进行操作。

示例: LISP 程序打印范围内的数字

Lisp
;range from 1 to 5
(loop for i from 1 to 5
        
;display each number
   do (print i)
)


Lisp
;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
        
;display each number
   do (print i)
)
  
;list with 5 strings 
(loop for i in '(JAVA PHP SQL HTML CSS)
        
;display each string
   do (print i)
)


Lisp
;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
  
;display each number by incrementing each number by 5
   do (print (incf i 5))
)
  
;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
  
;display each number by decrementing each number by 5
   do (print (decf i 5))
)


输出:

1 
2 
3 
4 
5 

示例 2: LISP 程序在列表上迭代元素。

Lisp

;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
        
;display each number
   do (print i)
)
  
;list with 5 strings 
(loop for i in '(JAVA PHP SQL HTML CSS)
        
;display each string
   do (print i)
)

输出:

1 
2 
3 
4 
5 
JAVA 
PHP 
SQL 
HTML 
CSS 

示例 3: LISP 程序以迭代范围内的每个数字并执行递增和递减操作。

Lisp

;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
  
;display each number by incrementing each number by 5
   do (print (incf i 5))
)
  
;list with 5 numbers 
(loop for i in '(1 2 3 4 5)
  
;display each number by decrementing each number by 5
   do (print (decf i 5))
)

输出:

6 
7 
8 
9 
10 
-4 
-3 
-2 
-1 
0