1、先给定一个随机的数字列表:a=Table[RandomInteger[{-10,10}],10]
2、把a里面的正数替换为1:b=a/.x_/;x>0->1
3、再把数字里面的负数匹配为0:c=b/.x_/;x<0->0
4、这样,只要c里面元素相加,就可以知道a里面有多少个正数。c//Total
5、((a/.x_/;x>0->0)/.x_/;x<0->1)//Total运行结果是3,所以a里面有3个负数。
6、把a里面的奇数替换为1,再把偶数替换为0:d=a/.x_/;OddQ[x]->1e=d/.x_/;EvenQ[x]->0
7、而奇偶替换,还可以使用mod实现:f=Mod[#,2]&/@a
8、a=Table[RandomReal[{-10,10}],100];d=a/.x_/;x<0->0;e=d/.x_/;x>0->1;Print["a里面有",e//Total,"个正数。"]运行结果是:a里面有55个正数。