本文主要介绍以下几个函数:小数处理函数round,roundup,rounddown,取整函数int,ceiling,随机函数rand,randbetween,randarray,取模函数mod,奇数函数odd,偶数函数even,绝对值函数abs,序列函数
sequence,以及上面这些函数用法如何在Python中实现
本例任务包:
问题1:生成一列10个随机数,范围从0到100的实数,并保留两位小数
问题2:生成一列10个随机整数,范围从-100到100
问题3:分别将数值3.1415926进行四舍五入取2位小数,向上取2位小数,向下取2位小数,向上取整数,向下取整数,将数值3141.5926向小数点往左向上取2位,小数点往左向下取2位
问题4:分别将数值9.12进行向上取整为1的倍数,向上取整为3的倍数,向上取奇数,向上取偶数
问题5:生成一列10个随机小数,范围从-100.00到100.00,并进行取绝对值
问题6:生成一个随机数组,行数为10,列数为6,最小值为-100.00,最大值为100.00,小数2位显示
问题7:生成一列数值进行6个数循环,从1-6再从1-6,这样下去
问题8:生成一列1-20的序列,生成一列10行5列的序列,起始值为0,增量值为5
基础讲解:
RAND()函数:返回一个大于等于 0 且小于1 的平均分布的随机实数,参数为空格
每次计算工作表时都会返回一个新的随机实数(可按快捷键F9进行重新计算)
ROUND函数:ROUND(number, num_digits),将数字四舍五入到指定的位数
第一个参数是数值,第二个是小数位数,表示保留小数的位置,四舍五入之后,后面的位数将被丢弃
例:对数值3.1415926 进行函数操作:
四舍五入取两位:=ROUND(A2,2)
我们把B2单元格复制到C2,保存为数值格式,可以看到这个数值只有小数两位,即后面的位数15926都被丢掉了
而如果把A2单元格改为显示2位小数,我们可以看到显示为3.14,
但是其实这个数值并没有改变,点单元格可以看到,后面还是有15926位数的
如果是向上取进行舍入呢,比如3.1415926不四舍五入,而是由3.141向上取到3.15,这里则要用到roundup函数
round单词本身有四舍五入的意思,up则是向上,表示向上取位,
ROUNDUP(number, num_digits)
第一个参数是数值,
第二个是向上取舍的位数,取整数
如果 num_digits 大于 0(零),则将数字向上舍入到指定的小数位数。
如果 num_digits 为 0,则将数字向上舍入到最接近的整数。
如果 num_digits 小于 0,则将数字向上舍入到小数点左边的相应位数。
如果第二个参数为0,则表是向上取为整数,这时这个功能相当于函数ceiling()第二个参数为1时的用法
如果第一个参数为负数,则表示结果和不考虑负号时的结果是一样
如果第二个参数为负数,则表示向左进行舍位向上,例:
此时表示对小数点向左两位41舍掉,然后4前面的1向上取2,即得到3200
这个函数在实际应用中很重要的,比如在计算快递单费的时候,超过某一个重量会自动向上进行取数
既然有UP,那么就一定有DOWN
ROUNDDOWN函数用法和ROUNDUP函数一样python保留三位小数,不相处在于一个是向下,一个是向上
当ROUNDDOWN函数第二个参数为0时,其功能就和INT取整函数相同了
Int( number )将数字向下舍入到最接近的整数,例:
与期相反,CEILING函数是向上取整
CEILING(number, significance),ceiling英文是天花板的意思,函如其名,返回将参数number 向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数
不论参数 number 的符号如何,数值都是沿绝对值增大的方向向上舍入,这里和ROUNDUP一样
如果 number 正好是 significance 的倍数,则不进行舍入。
如果 number 和 significance 都为负,则对值按远离 0 的方向进行向下舍入。
如果 number 为负,significance 为正,则对值按朝向 0 的方向进行向上舍入,例:
再介绍一下取模函数MOD
MOD(number, divisor),divisor是除数的意思,mod英文在计算机里是余数的意思,也叫“模”,此函数返回两数相除的余数python保留三位小数, 结果的符号与除数相同
这个函数与行号函数ROW()搭配可以实现数字周期性循环
问题1:生成一列10个随机小数,范围从1到100的实数,并保留两位小数
输入公式=ROUND(RAND()*100,2)
RAND()生成的随机数在0-1之间,乘100则在1和100之间
问题2:生成一列10个随机正整数,范围从-100到100
=RANDBETWEEN(-100,100)
RANDBETWEEN(bottom, top),返回位于两个指定数之间的一个随机整数。 每次计算工作表时都将返回一个新的随机整数。
第一个参数是将返回的最小整数。
第二个参数是将返回的最大整数。
实际用途这个函数与CHOOSE函数搭配可以制作一个随机抽取姓名的功能
问题3:分别将数值3.1415926进行四舍五入取2位小数,向上取2位小数,向下取2位小数,向上取整数,向下取整数,将数值3141.5926向小数点往左向上取2位,小数点往左向下取2位
四舍五入两位公式=ROUND(A2,2)
向上两位公式=ROUNDUP(A2,2)
向下两位公式=ROUNDDOWN(A2,2)
向上取整公式=ROUNDUP(A2,0)
向下取整公式=ROUNDDOWN(A2,0)
往左向上取两位 =ROUNDUP(A3,-2)
往左向下取两位=ROUNDDOWN(A3,-2)
问题4:分别将数值9.12进行向上取整为1的倍数,向上取整为3的倍数,向上取奇数,向上取偶数
向上取整1的倍数=CEILING(A2,1)
向上取整3的倍数=CEILING(A2,3)
向上取奇数=ODD(A2)
向上取偶数=EVEN(A2)
EVEN(number) 正数向上取偶,负数向下取偶
ODD(number) 正数向上取奇,负数向下取奇
问题5:生成一列10个随机小数,范围从-100.00到100.00,并进行取绝对值
输入公式=RANDBETWEEN(-100,100)*RAND()
=ABS(-5)返回绝对值,abs是absolute单词绝对的缩写
问题6:生成一个随机数组,行数为10,列数为6,最小值为-100.00,最大值为100.00,小数显示
输入公式=RANDARRAY(10,6,-100,100,0)
但是显示的结果小数有很多位,我们用四舍五入的形式取2位=ROUND(RANDARRAY(10,6,-100,100,0),2)
问题7:生成一列数值进行6个数循环,从1-6再从1-6,这样下去
=IF(MOD(ROW(A1),6)=0,6,MOD(ROW(A1),6))
取余函数循环时会出现等于0的情况,当MOD(ROW(A6),6)=0,我们加一个IF函数时行修正一下
问题8:生成一列1-20的序列,生成一列10行5列的序列,起始值为0,增量值为5
=SEQUENCE(行,[列],[开始数],[增量]),sequence英文是序列的意思,可在数组中生成一系列连续数字
第一个参数是要返回的行数
第二个参数是要返回的列数
第三个参数是序列中第一个数字
第四个参数是步长,即数组中每个连续值递增的值
例:生成一列1-20的序列:
=SEQUENCE(20,1,1,1)
生成一个10行5列,起始为0,增量为5:
=SEQUENCE(10,5,0,5)
Python实现:
问题1:生成一列10个随机数,范围从0到100的实数,并保留两位小数
import random
a=[]
i=0
while i
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: wxii2p22