目录

python3 数字 number

1.python数字类型

1.数字类型简介

  • 整型(int)
  • 浮点型(float)
  • 复数(complex):复数由实数部分和虚数部分组成,可以用 ‘a + bj’ ,或者complex(a,b) 表示,复数的实部a和虚部b都是浮点型

2.python数字类型转换

  • int(n) 将x转换为一个整数
  • float(x) 将x转换为为一个浮点数
  • complex(x) 将x转换到一个复数,实数部分为x,虚数部分为0
  • complex(x,y) 将 x 和 y转换到一个复数,实数部分为x,虚数部分为y。x 和 y 是数字表达式

2.python数学函数

1.abs(x)返回数字x的绝对值

描述:返回数字x的绝对值

语法:abs(x)

参数:x – 数值表达式,可以是整数、浮点数、复数

返回值:返回数字x的绝对值,如果是复数,则返回他的模的大小

print(abs(3.9))
print(abs(3+4j))
print(abs(6+8j))
-----------------------
3.9
5.0
10.0

2.ceil(x) 返回x的上入整数,如ceil(4.2)返回5

描述:ceil(x)返回一个大于或等于x的一个最小整数

语法:

impot  math

math.ceil(x)

注意:ceil()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法

参数:x -- 数值表达式

返回值:返回一个大于等于x的最小整数

import math
print(math.ceil(3.6))
print(math.ceil(-2.1))
------------------------
3
-3

3.cmp(x,y) 如果x < y 返回 -1,如果 x == y 返回0, 如果 x > y 返回 1。 python3已废弃,使用 (x>y)-(x<y)替换

描述:cmp(x,y) 如果x < y 返回 -1,如果 x == y 返回0, 如果 x > y 返回 1。 python3已废弃,使用 (x>y)-(x<y)替换

语法:

参数:

返回值:

x = 5
y = 6
print((x>y)-(x<y)
-------------------------
-1

4. exp() 方法返回x的指数,ex

描述:返回x的指数 , ex

语法:

import math

math.exp( x )

参数:x – 数值表达式

返回值: x的指数,ex

import math

print(math.exp(3))
-------------------
20.085536923187668

5.fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0

描述:fabs()方法返回数字的绝对值,如math.fabs(-10.0)返回10.0

fabs()函数类似于abs()函数,但有以下两点区别

  • abs()是内置函数,fabs() 函数在 math 模块中定义
  • fabs() 函数只对浮点型和整形数值有效。abs() 还可以运用在复数中

语法:

import math
math.fabs(x)

参数:x – 数值表达式

返回值:返回x的绝对值

import math
print(math.fabs(12.7))
print(abs(3+4j))
-------------------------
12.7
5.0

6.floor(x) 返回数字的下舍整数,小于或等于 x。

描述:返回小于等于x的整数

语法:

import math
math.floor(x)

参数:x – 数值表达式

返回值:返回小于等于x的整数

import math
print(math.floor(2.7))
print(math.floor(-2.7))
------------------------------
2
-3

7.log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0

描述:如math.log(math.e)返回1.0,math.log(100,10)返回2.0

语法:

import math
math.log(x)

参数:x – 数值表达式

返回值:返回x的自然对数,x>0

import math

print(math.log(100,10))
print(math.log(math.e))
print(math.log(1))
----------------------------
2.0
1.0
0.0

8.log10(x) 返回以10为底x的对数,如math.log10(100)返回值为2.0

描述:返回以10为底x的对数

语法:

import math
math.log10(x)

参数:x

返回值:返回以10为底x的对数

import math
print(math.log10(100))
-----------------------
3.0

9.max(x1,x2,x3……) 返回给定参数的最大值,参数可以为序列。

描述:返回给定参数的最大值,参数可以为序列。

语法:max( x, y, z, .... )

参数:

返回值:返回给定参数的最大值。

x = [(1,2,3,4,5),(5,7)]
print(max(x))
----------------------------
(5,7)

10.min(x1,x2,x3……) 返回给定参数的最小值,参数可以为序列。

描述:min(x1,x2,x3……) 返回给定参数的最小值,参数可以为序列。

语法:min( x, y, z, .... )

参数:

返回值:返回给定参数的最小值

x = (1,2,3,4,5)
print(max(x))
---------------------
5

11.modf(x) 方法返回 x 的整数部分与小数部分,两部分的数值符号与 x 相同,整数部分以浮点型表示。

描述:返回 x 的整数部分与小数部分,两部分的数值符号与 x 相同,整数部分以浮点型表示。

语法:

import math
math.modf(x)

参数:

返回值:返回x的整数部分与小数部分 组成一个元组tuple

import math
print(math.modf(2.7))
print(type(math.modf(2.7)))
---------------------
(0.7000000000000002, 2.0)
<class 'tuple'>

12.pow(x,y) 返回 xy 后的值

描述: 返回xy后的值

语法:

import math
math.pow(x,y[,z])

函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

参数:

返回值:返回x的y次方

import math
print(math.pow(3,2))
---------------------
9.0

13. round(x[,n])返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。

其实准确的说是保留值将保留到离上一位更近的一端。

描述:round() 方法返回浮点数 x 的四舍五入值,准确的说保留值将保留到离上一位更近的一端(四舍六入)。

精度要求高的,不建议使用该函数。

语法:round(x[,n])

参数:x — 数字表达式

n ----需要保留的小数位数,默认值为 0。

返回值:返回浮点数x的四舍五入值。

print ("round(70.23456) : ", round(70.23456))
print ("round(56.659,1) : ", round(56.659,1))
print ("round(80.264, 2) : ", round(80.264, 2))
print ("round(100.000056, 3) : ", round(100.000056, 3))
print ("round(-100.000056, 3) : ", round(-100.000056, 3))
---------------------------------------------------------
round(70.23456) :  70
round(56.659,1) :  56.7
round(80.264, 2) :  80.26
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

因为该函数对于返回的浮点数并不是按照四舍五入的规则来计算,而会收到计算机表示精度的影响。

关于该问题搜索后解释比较清楚的文章地址如下:文章地址

14.sqrt(x) 返回数字x的平方根

描述:返回数字x的平方根

语法:

import math
math.sqrt(x)

参数:x – 数值表达式

返回值:x的平方根

import math
print(math.sqrt(9))
----------------------------
3.0

3.随机数函数

1.choice(seq) 从序列seq的元素中随机挑选一个元素,比如random.choice(range(10)), 从0到9中随机挑选一个整数

描述:从序列seq的元素中随机挑选一个元素,比如random.choice(range(10)), 从0到9中随机挑选一个整数

语法:

import random
random.choice(seq)

参数:seq —可以是列表、元组、字符串

返回值:返回随机项

import random

print ("从 range(100) 返回一个随机数 : ",random.choice(range(100)))
print ("从列表中 [1, 2, 3, 5, 9]) 返回一个随机元素 : ", random.choice([1, 2, 3, 5, 9]))
print ("从字符串中 'python' 返回一个随机字符 : ", random.choice('python'))
-----------------------------------------------------------------------------------------
从 range(100) 返回一个随机数 :  72
从列表中 [1, 2, 3, 5, 9]) 返回一个随机元素 :  5
从字符串中 'python' 返回一个随机字符 :  n

2.randrange([start,]stop[,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为1

描述:从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为1

语法:

import random

random.randrange ([start,] stop [,step])

参数:start -- 指定范围的开始值,包括在范围内

stop -- 指定范围的结束之,不包括在范围内

step -- 递增值,默认是1

返回值:

import random
# 从 1-100 中选取一个奇数
print ("randrange(1,100, 2) : ", random.randrange(1, 100, 2))
 
# 从 0-99 选取一个随机数
print ("randrange(100) : ", random.randrange(100))
----------------------------------------------------------
randrange(1,100, 2) :  61
randrange(100) :  57

3.random() 随机生成下一个实数,它在[0,1)范围内

描述:随机生成下一个实数,它在[0,1)范围内

语法:

import random
random.random()

参数:

返回值:随机生成[0,1)范围内的一个实数

import random
print(random.random())
------------------------
0.4543718730583689

4.seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed

描述:改变随机数生成器的种子seed。可以在调用其他随机模块函数之前调用此函数。

语法:

import random
random.seed([x])

我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个。

参数:x -- 改变随机数生成器的种子seed

返回值:

import random

random.seed()
print ("使用默认种子生成随机数:", random.random())
print ("使用默认种子生成随机数:", random.random())

random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())
random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())

random.seed("hello")
print ("使用字符串种子生成随机数:", random.random())
------------------------------------------------------------
使用默认种子生成随机数: 0.3467139927750842
使用默认种子生成随机数: 0.24818389459851375
使用整数 10 种子生成随机数: 0.5714025946899135
使用整数 10 种子生成随机数: 0.5714025946899135
使用字符串种子生成随机数: 0.3537754404730722

5.shuffle(list) 将序列的所有元素随机排序

描述:****shuffle() 方法将序列的所有元素随机排序。

语法:

import random
random.shuffle(list)

参数:list – 列表

返回值:返回None

import random
 
list = [20, 16, 10, 5];
print(random.shuffle(list))
print ("随机排序列表 : ",  list)
 
random.shuffle(list)
print ("随机排序列表 : ",  list)
-------------------------------------
None
随机排序列表 :  [10, 20, 16, 5]
随机排序列表 :  [5, 16, 10, 20]

6.uniform(x,y) 随机生成一个实数,它在范围[x,y]内。

描述:随机生成一个实数,它在范围[x,y]内。

语法:

import random
random.uniform(x,y)

参数:x --随机数的最小值,包含该值

y --随机数的最大值,包含该值

返回值:返回一个浮点数 N,取值范围为如果 x<yx <= N <= y,如果 y<xy <= N <= x

import random
 
print ("uniform(5, 10) 的随机浮点数 : ",  random.uniform(5, 10))
 
print ("uniform(14, 7) 的随机浮点数 : ",  random.uniform(14, 7))
---------------------------------------------------------------------

uniform(5, 10) 的随机浮点数 :  8.787476227002795
uniform(14, 7) 的随机浮点数 :  11.448880154634766

4.三角函数

1.acosx(x) 返回x的反余弦弧度值 x属于[-1,1]

2.asin(x) 返回x的反正先弧度值 x属于[-1,1]

3.atan() 返回x的反正切弧度值 x属于[-1,1]

4.atan2(y,x) 返回给定的x及y坐标值的反正切值

5.cos(x) 返回x的弧度的余弦值

6.hypot(x,*y) 返回欧几里得范数 sqrt(x * x + y * y)

7.sin(x) 返回x弧度的正弦值

描述:返回x弧度的正弦值

语法:

参数:

返回值:

import math
print(math.sin(math.pi/2))
---------------------------
1.0

8.tan(x) 返回x弧度的正切值

9. degrees(x) 将弧度转换为角度,如degrees(math.pi/2),返回90.0

描述:

语法:

参数:

返回值:

import math

print ("degrees(3) : ",  math.degrees(3))
print ("degrees(-3) : ",  math.degrees(-3))
print ("degrees(0) : ",  math.degrees(0))
print ("degrees(math.pi) : ",  math.degrees(math.pi))
print ("degrees(math.pi/2) : ",  math.degrees(math.pi/2))
print ("degrees(math.pi/4) : ",  math.degrees(math.pi/4))
-------------------------------------------------------------
degrees(3) :  171.88733853924697
degrees(-3) :  -171.88733853924697
degrees(0) :  0.0
degrees(math.pi) :  180.0
degrees(math.pi/2) :  90.0
degrees(math.pi/4) :  45.0

10.radians() 将角度转换为弧度

描述:

语法:

参数:

返回值:

import math

print ("radians(90) : ",  math.radians(90))     # 1 弧度等于大概 57.3°
print ("radians(45) : ",  math.radians(45))
print ("radians(30) : ",  math.radians(30))
print ("radians(180) : ",  math.radians(180))  # 180 度的弧度为 π

print("180 / pi : ", end ="")
print (math.radians(180 / math.pi))
--------------------------------------------------------------------
radians(90) :  1.5707963267948966
radians(45) :  0.7853981633974483
radians(30) :  0.5235987755982988
radians(180) :  3.141592653589793
180 / pi : 1.0

角度和弧度关系是:2π 弧度 = 360°。从而 1°≈0.0174533 弧度,1 弧度≈57.29578°。

  • \1) 角度转换为弧度公式:弧度=角度÷180×π
  • 2)弧度转换为角度公式: 角度=弧度×180÷π

5.常量

pi 数学常量 pi(圆周率,一般以π来表示)

import math
math.pi

e 数学常量 e,e即自然常数(自然常数)。

import math
math.e

例子

1.打印出1-100中的所有质数

for i in range(2, 101):
    for j in range(2, int((i**0.5)+1)):   #任何一个数的其中一个因数一定小于等于它的平方根
        if i % j == 0:
            break
    else:
        print(i,end=' ')
---------------------------------------
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97