LauKwokFai 发表于 2022-7-6 09:34:00

CAD是如何知道数字的

尊敬的各位:,
 
我想建立一个lisp,当输入数为单数时,执行例程a,当输入数为复数时执行例程B。。。。CAD如何知道输入数字是单数还是复数?
 
非常感谢。

MSasu 发表于 2022-7-6 09:39:48

你是说奇数和偶数?
 
(= (- (/ theNumber 2.0) (/ theNumber 2)) 0)
 
假设你的论点是一个整数。
 
当做
米尔恰

pBe 发表于 2022-7-6 09:42:15

 
如果使用getstring(string)
 

(setq number (getstring "\nEnter Number:"))
(if ( = (strlen number) 1) (routine A)(Routine B))

 
如果您使用的是getint:(integer)

(setq number (getint "\nEnter Number:"))
(if (< number 10)(routine A)(Routine B))

pBe 发表于 2022-7-6 09:45:29

 
我想你是对的。。OP的意思可能是奇数/偶数
 

(equal(fix (/ number 2.00))(/ number 2.00))

LauKwokFai 发表于 2022-7-6 09:49:05

 
对不起,我是说奇数和偶数!!
 
这是一个非常有趣的解决方案,非常感谢。

MSasu 发表于 2022-7-6 09:53:04

不客气!
请检查pBe在他/这里的第二篇文章中提出的解决方案——比我的更简洁。
 
当做
米尔恰

LauKwokFai 发表于 2022-7-6 09:53:09

谢谢你们俩

LibertyOne 发表于 2022-7-6 09:57:07

 
为什么不定义两个函数EVENP和ODDP?
 
偶数时EVENP返回T,奇数时返回nil。
ODDP在奇数时返回T,在偶数时返回nil。
 

(defun evenp (i) (= (rem i 2) 0))
(defun oddp (i) (/= (rem i 2) 0))

 
使用:
 
奇怪的是,这条线与:
 
http://www.cadtutor.net/forum/showthread.php?58684-检查列表中的数字-%28单数或复数-%29
 

pBe 发表于 2022-7-6 10:00:00

 
 
不久前,我一直在试图证明这一点。。
 
谢谢你的片段李

LauKwokFai 发表于 2022-7-6 10:04:00

 
你可能会认为我们是一体的。
 
 
当做
页: [1] 2
查看完整版本: CAD是如何知道数字的