434939575 发表于 2016-6-12 19:12:41

请师傅帮忙处理表问题

先谢谢了!

(defun c:tt ()
(setq v nil)
    (setqcc '(10.1 11.1 12.1   30.2 31.2232.20   40 40.241)
)
(while cc
    (setq a (car cc))
    (setq cc (cdr cc))
    (if(equal a (car cc) 1.6)
      (progn
      (setq v (append (list a) v))
         )
      (progn
      (if (> (- (car cc) a ) 3)
(setq v (list(append (list a)v)))

)
    )
)
    )

)
;; 我的结果是(40.2 40 (32.2 31.22 30.2 (12.1 11.1 10.1)))括号不对,还少了个数, 要不得
;;希望结果((10.1 11.1 12.1) (30.2 31.2232.20 )(40 40.241))

lilq_78 发表于 2016-7-11 15:46:19

;;52.5 [功能] 对表分段
;;(xl_div lst nom)表分段. -> 返回 分段的表.   ------by 无痕.2004.1
; lst = 表,nom = 分段的子表元素个数(从1开始计).
;;示例 (xl_div '(1 2 3 4 5 6 7 8 9) 3) -> ((1 2 3) (4 5 6) (7 8 9))
(defun xl-div (lst x / lst2)
(foreach n lst
    (if (and lst2 (/= x (length (car lst2))))
      (setq lst2 (cons (append (car lst2) (list n)) (cdr lst2)))
      (setq lst2 (cons (list n) lst2))
    )
)
(reverse lst2)
)

434939575 发表于 2016-7-15 20:58:55

lilq_78 发表于 2016-7-11 15:46 static/image/common/back.gif
;;52.5 [功能] 对表分段
;;(xl_div lst nom)表分段. -> 返回 分段的表.   ------by 无痕.2004.1
;...

感谢朋友的帮助!

434939575 发表于 2016-7-15 20:59:49

lilq_78 发表于 2016-7-11 15:46 static/image/common/back.gif
;;52.5 [功能] 对表分段
;;(xl_div lst nom)表分段. -> 返回 分段的表.   ------by 无痕.2004.1
;...

多谢指点!

vladimirputin 发表于 2016-10-19 13:32:06

不错的程序,谢谢楼主分享。
页: [1]
查看完整版本: 请师傅帮忙处理表问题