新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

《新大榭》- 创大榭地方网络社区先锋品牌 新大榭始终专注于地方网络社区平台的建设 关于我们- [大记事]- 留言建议- [新手报道]

发布 .新大榭软件管家(Excel版) V5.9版 财务/仓库/生产/销售/采购/行政/人事/校园 .公告 - 客户 - 打赏 - 职场 - Excel - Python.

新大榭镜像-音乐-法律-图书-高中课堂-实验 广告是为了能更好的发展 [欢迎商家支持本站互利共赢] 广告位招租.首页黄金广告位等您来!联系 13566035181

新大榭论坛 门户 查看主题

7442 - Python库 AP085【math】数学模块常用方法

发布者: admin | 发布时间: 2021-7-24 10:21| 查看数: 1882| 评论数: 0|帖子模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!

您需要 登录 才可以下载或查看,没有账号?注册

x
$ \9 |0 W8 E% N5 F  G
【注意】在使用之前,必须先导入math模块,以开方函数 sqrt 为例,介绍2种引入方式及各自使用方法。
2 D5 p. x( ^) }2 y( D0 C

( v6 V& o: H: Q! y  q' G( U方法1: [, y% N# Q5 x7 c9 Z' K
  1. >>> import math: J. L# _8 D) ^1 u8 x
  2. >>> math.sqrt(9)/ a2 x% Z8 B+ h7 ~. y6 e7 N
  3. 3.0
复制代码
方法2
/ Q' [% n: B! f+ K
  1. >>> from math import sqrt" N# j6 r0 }5 C9 L& }. p
  2. >>> sqrt(9)$ Y( T- ~+ K5 a4 ]  T7 F1 A' A
  3. 3.0
复制代码
5 k4 C3 M" v& {- S# ~3 _0 X

; t7 d+ k& [# {/ c$ E# w0 W
math.e  表示一个常量
4 Y; J( q8 \# Q4 [
  1. #表示一个常量
    - \0 g* [) c( a: ?  m( `& F% P
  2. >>> math.e" G) h. \/ H6 ^7 H/ E" A4 o" d" j+ t
  3. 2.718281828459045
复制代码
7 f; g! Y2 I4 }
math.pi  
数字常量,圆周率

" {$ F4 ], |% l: r2 ?; z4 z
  1. #数字常量,圆周率
      q8 a! w% o# x' k$ z
  2. >>> print(math.pi)  D! r- h7 x9 {' Y4 v5 ^
  3. 3.141592653589793
复制代码
" T* I' D9 [" p. F  X
math.ceil(x)  
取大于等于x的最小的整数值,如果x是一个整数,则返回x
; _; X) X& k8 G# p
  1. #取大于等于x的最小的整数值,如果x是一个整数,则返回x- O5 j' _/ r3 c$ g& X7 n
  2. ceil(x)) L0 {4 x: Y9 N
  3. Return the ceiling of x as an int.
    / Y" l' x( u. T/ P# R1 C3 |1 z
  4. This is the smallest integral value >= x.
    0 \; x  `* c' m. B" I; a

  5. ( c) x! b' g7 }: G  q0 G, Y6 z
  6. >>> math.ceil(4.01)
    " a) i, l4 ?: V" ~( ]- \5 A8 Y5 X
  7. 5% c/ ~+ U. w5 z( _, i% C" t
  8. >>> math.ceil(4.99)/ N; X/ K" G& X$ ~
  9. 5
    4 V) F& m! U6 }& ]! X
  10. >>> math.ceil(-3.99)& I7 M9 w( ^0 Y# r9 y% Z
  11. -37 F1 b1 U0 E8 w4 N" ]7 O
  12. >>> math.ceil(-3.01)& D! K- f. W8 H# ~  n# G5 J2 [
  13. -3
复制代码

1 [/ s0 x5 r& ?1 A! t" ~9 {math.floor(x)  取小于等于x的最大的整数值,如果x是一个整数,则返回自身
+ `" [0 l4 w4 ]/ X
  1. #取小于等于x的最大的整数值,如果x是一个整数,则返回自身: `! {  l4 T# H8 x7 e
  2. floor(x)$ }( t: g1 ]1 K# g7 f
  3. Return the floor of x as an int./ Y/ L1 W& T/ o; P/ S; ~
  4. This is the largest integral value <= x.$ V  h0 k( o) R! T8 v0 f
  5. >>> math.floor(4.1)
    - |! x5 g8 @; F# o, u
  6. 4# r5 E1 o5 J1 Y( M1 v7 M/ Z
  7. >>> math.floor(4.999)
    7 Z0 A/ L$ U, y! Q! U4 L3 _( O
  8. 4  U' f/ p+ ~8 D" M" S% Y1 R& \
  9. >>> math.floor(-4.999)+ a5 K) j* S4 W# |
  10. -5
    & w# F( P' E% F; K2 h( R
  11. >>> math.floor(-4.01)
    3 u4 t' q( A4 e4 x) O2 z
  12. -5
复制代码

( @$ X" Z$ f, q- O5 m, t7 h, a4 J" rmath.pow(x,y)  返回x的y次方,即x**y+ O, b+ x5 k" s& J
  1. #返回x的y次方,即x**y
    3 V+ R+ h, v5 Q0 q; J
  2. pow(x, y)
    3 }6 _  D7 v3 U
  3. Return x**y (x to the power of y)." q' V$ N2 g- }8 G% O
  4. >>> math.pow(3,4)
    5 P& n5 i( o% u5 C8 [
  5. 81.0+ J8 v( i2 ~; }! i
  6. >>>   Q6 k9 W. m; c5 S
  7. >>> math.pow(2,7)
    6 p* Z0 F8 D& P
  8. 128.0
复制代码
5 p6 N8 ?! ]3 V# a. n
math.log(x)  返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
" ^' a* r& ]+ B! _$ K: b
  1. #返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
    - V3 @; P1 `; Y1 Q& ~2 x
  2. log(x[, base])2 _7 z' r0 s  v1 j& C+ }8 l5 b
  3. Return the logarithm of x to the given base.
    # t) S6 F& ^# w/ e1 L3 i
  4. If the base not specified, returns the natural logarithm (base e) of x.
    0 m7 {5 G; V; T& u5 ]
  5. >>> math.log(10)2 @$ ?0 s  K$ ?- J& N) R: p
  6. 2.302585092994046# U  G" [: N% V: H$ w
  7. >>> math.log(11)4 s. ?1 A  M8 J. ?  M8 J6 v2 w/ t2 U2 |
  8. 2.3978952727983707
    ; U+ ^' x/ u! q. u7 ~8 T, Z
  9. >>> math.log(20)
      v8 d( E) x* ]8 T0 n9 a1 x
  10. 2.995732273553991
复制代码

9 a2 x, I  G4 S: Tmath.sin(x)  求x(x为弧度)的正弦值
5 X3 ~2 v, r$ Q5 F6 ^- v1 _
  1. #求x(x为弧度)的正弦值
    ( ?7 m; N+ e1 H. i. V* ~/ N
  2. sin(x)
    $ ?0 P3 ]9 Q$ b
  3. Return the sine of x (measured in radians).1 F5 o0 P" h6 o# u- d$ o% H# Q
  4. >>> math.sin(math.pi/4)
    . r9 Z3 e* `7 y" j9 D
  5. 0.7071067811865475
    ; b6 l, m3 r3 J+ C6 t2 d9 h
  6. >>> math.sin(math.pi/2)
    9 S2 i* p8 C' |; b
  7. 1.0
      |6 q* B! N& M! Y
  8. >>> math.sin(math.pi/3)8 `$ Y- h5 O( m: a8 Q% v
  9. 0.8660254037844386
复制代码

, ?1 X1 f4 c) ?5 _* ?( N" q" pmath.cos(x)  求x的余弦,x必须是弧度
/ }7 w( q3 s* @; _9 z
  1. #求x的余弦,x必须是弧度, P; F5 U9 Y0 q. P% {9 R
  2. cos(x)7 Z& V# f6 E4 K
  3. Return the cosine of x (measured in radians).
    6 ]( c4 t: h1 u& O( E, l
  4. #math.pi/4表示弧度,转换成角度为45度# R1 p' t7 i& ^
  5. >>> math.cos(math.pi/4)& h' C, r0 r# d2 A% H
  6. 0.70710678118654766 I8 d  ~1 _+ @# h
  7. math.pi/3表示弧度,转换成角度为60度
    % h# Y: D+ S# E; f! D3 r3 ?
  8. >>> math.cos(math.pi/3)" }9 }0 }; S0 u6 ?4 V% `; N( \
  9. 0.5000000000000001
    5 W; o/ p5 w. Y# R9 O
  10. math.pi/6表示弧度,转换成角度为30度& i8 |/ T4 B' ^" p2 V
  11. >>> math.cos(math.pi/6)7 T1 |( d7 C$ }" v. C
  12. 0.8660254037844387
复制代码
# m; M3 f( k* F, t
math.tan(x)  返回x(x为弧度)的正切值6 P; e3 c* C- a. z, v' H  d
  1. #返回x(x为弧度)的正切值
      Z7 u& C" L. C7 h/ G# A6 }
  2. tan(x)
    + x; B' K( Z) P1 U- V6 s
  3. Return the tangent of x (measured in radians).
    : H% _6 x4 K- e7 w
  4. >>> math.tan(math.pi/4)
    * F; [& p2 P8 _! t$ J
  5. 0.9999999999999999; i1 G9 J: j' ~: |4 @( y) w
  6. >>> math.tan(math.pi/6)6 T6 q- z+ @+ D+ {% A
  7. 0.5773502691896257
    " a6 h4 F# c5 V* m" {  ^" G
  8. >>> math.tan(math.pi/3)
    & h5 m( J6 m5 w
  9. 1.7320508075688767
复制代码

- r- J. g: l, [; I( M3 V/ ymath.degrees(x)  把x从弧度转换成角度5 d$ K5 D+ R& h' c5 p, T
  1. #把x从弧度转换成角度
    8 j6 g& Q6 I/ H$ @. c
  2. degrees(x)
    8 {0 i$ z0 [. I
  3. Convert angle x from radians to degrees.% @) J: h% s# K/ R0 z* V  m

  4. $ ^, E3 J" J9 I: R# d# n% o
  5. >>> math.degrees(math.pi/4)3 ?; A( k' B& E- z9 q0 m4 Y
  6. 45.0; ]4 r7 }. Y7 C, ]0 U$ l8 I2 ~2 |
  7. >>> math.degrees(math.pi)
    $ ], }: R  U3 C: W: Z* M6 I) q. M
  8. 180.0
    ) J# {" P5 S% ^9 }& @* x6 i9 k
  9. >>> math.degrees(math.pi/6)
    - L/ i% n9 d1 G' M: I4 ]0 H0 h
  10. 29.999999999999996$ d$ q. K- }. W  H. j. k+ A
  11. >>> math.degrees(math.pi/3)
    ! @; Z  n; E2 ]  x! ^' L# c2 [
  12. 59.99999999999999
复制代码

- u1 K1 R( ]" b2 a1 Z! omath.radians(x)  把角度x转换成弧度) o% L7 Z, @9 L4 Q/ ^- d
  1. #把角度x转换成弧度
    " A4 I' k* @0 I. \+ Z& z! W
  2. radians(x)9 R: D) S+ `$ G$ s' v
  3. Convert angle x from degrees to radians.7 g" B! X. a- l* ^: U6 v$ N
  4. >>> math.radians(45)
    6 L3 W3 a2 ~. r9 z# O+ J: _+ [/ b, G
  5. 0.7853981633974483" N, u& J$ @' f* o4 V
  6. >>> math.radians(60)
    9 D/ p: Z0 l( o  x4 e7 t1 d4 e
  7. 1.0471975511965976
复制代码
/ Q( @& i% ]4 ]* o& m
math.copysign(x,y)  把y的正负号加到x前面,可以使用0
$ n0 t% e/ b- X
  1. #把y的正负号加到x前面,可以使用0
    ; m- h( L! H4 N  z4 _
  2. copysign(x, y)
    $ ]/ x9 X2 O  d) k' B6 ^2 {$ s7 a$ `
  3. Return a float with the magnitude (absolute value) of x but the sign
    * A7 ]- T; K& @1 Y6 b
  4. of y. On platforms that support signed zeros, copysign(1.0, -0.0) 5 j0 ]: E" i/ }0 n0 [$ |
  5. returns -1.0.
    ' N: u. Z6 g. @" |" U
  6. $ a' i: P6 g* v2 _
  7. >>> math.copysign(2,3)
    , u) c* x, w( H
  8. 2.0* d9 s* w1 Y+ e* p
  9. >>> math.copysign(2,-3)
    $ t8 e5 |/ \# Z7 |1 ?3 x
  10. -2.0
    ! O) T; Q- \* L
  11. >>> math.copysign(3,8)
    5 W1 V  L2 |; }$ y. @3 O4 B/ ~9 h
  12. 3.0
    / z% L% m: J0 h' y3 R1 u
  13. >>> math.copysign(3,-8)8 p; [+ ?: t; n& b
  14. -3.0
复制代码

7 Z. J! M4 {; }math.exp(x)  返回math.e,也就是2.71828的x次方  K. X2 R# j2 V& {- _' r0 m4 k5 Y
  1. #返回math.e,也就是2.71828的x次方
    . I4 H/ W: j/ E1 e& n) }- t" M6 N
  2. exp(x)
    4 O6 j: v4 |) Z8 P% U6 b  B3 Z: o
  3. Return e raised to the power of x.
    ) ?. S4 J, B0 D

  4. 6 M4 Y, j, s4 s+ j
  5. >>> math.exp(1)
    ( n2 l1 H) T- ?$ A4 S, {+ v7 z
  6. 2.718281828459045
    . d- r- e6 B8 z
  7. >>> math.exp(2)) B5 p" A2 K, D4 m* k  ~, l
  8. 7.38905609893065) p! E+ O5 Q* z- ]$ M5 E
  9. >>> math.exp(3)
    9 y2 S( a7 M$ j# P4 P
  10. 20.085536923187668
复制代码
2 {% A; |5 V0 W$ C  F7 M
math.expm1(x)  返回math.e的x(其值为2.71828)次方的值减17 Q, v/ \6 x" p  m5 H! ]
  1. #返回math.e的x(其值为2.71828)次方的值减1' D8 p: H+ u) K, M, o
  2. expm1(x)9 ?' `; l  a' Z% a5 o# v3 y; S
  3. Return exp(x)-1.
    $ X8 M; i* D" X- C
  4. This function avoids the loss of precision involved in the direct evaluation of exp(x)-1 for small x.6 h! t- v# X: y0 r; D& J1 H

  5. 8 m+ }( l! y; v2 f0 `3 l9 }  |
  6. >>> math.expm1(1)
    ! B$ _+ s* y: C) ~
  7. 1.718281828459045' r7 X: @2 r& l  _( C. p9 p, X
  8. >>> math.expm1(2)
    + `' t6 J- L1 r3 g
  9. 6.38905609893065
    6 u, ~0 M9 G  M) ?1 L
  10. >>> math.expm1(3)
    / v  `% t9 ?$ m; F7 O" s  r
  11. 19.085536923187668
复制代码

! w2 ~8 G7 p! t* g# z, _* Rmath.fabs(x)  返回x的绝对值
/ }' Z8 v( W; b6 D4 \0 W' e2 }. X
  1. #返回x的绝对值
    . q8 i, }7 k/ v( P" ?) N5 V( ?
  2. fabs(x)
    + b5 V* ~3 g/ T  A  Y; r( b
  3. Return the absolute value of the float x.
    8 p9 _7 V  j8 T! u! V7 @
  4. 1 L4 T* I0 [! Q! e
  5. >>> math.fabs(-0.003)% W: V$ y: x9 x  M0 [! K+ A
  6. 0.0037 G+ t8 i/ j5 G0 q0 C
  7. >>> math.fabs(-110)
    2 G) k) j% a. L
  8. 110.0# f; E2 `4 x; D/ `: \: p
  9. >>> math.fabs(100)4 m. b' P9 F- ~# \$ f$ X/ Q
  10. 100.0
复制代码

4 d; t. j) P. C7 j: D* zmath.factorial(x)  取x的阶乘的值. V6 E& R3 q" w$ t1 `
  1. #取x的阶乘的值' f! H4 A7 r" D4 }
  2. factorial(x) -> Integral2 V! w0 f5 ]4 a$ V% ]4 z0 s/ ~
  3. Find x!. Raise a ValueError if x is negative or non-integral.6 e" y0 x6 P) v4 I
  4. >>> math.factorial(1)6 L" b+ o) L2 Q9 D
  5. 1
    * y: f& x" V/ K$ h2 ~
  6. >>> math.factorial(2)
    0 {: G9 i: ~& i& d2 t" B
  7. 2
    ( y; k( j. @7 w( k$ U. R/ }! Z
  8. >>> math.factorial(3)
    / a; K" }8 k! i! H2 l
  9. 6
    2 E7 ]& I- b* w
  10. >>> math.factorial(5)
    & y" i. Y% M  _& @0 K
  11. 120. u# o. g0 A3 t
  12. >>> math.factorial(10)- r- q2 G6 N) g$ H' d  I
  13. 3628800
复制代码

& x) E7 m9 e. ?0 {+ K( Amath.fmod(x,y)  得到x/y的余数,其值是一个浮点数* F  }" v9 m' n# f
  1. #得到x/y的余数,其值是一个浮点数* u% _  [. K6 |9 e- O( g
  2. fmod(x, y)
    $ ~) g5 x5 C. Z" R; {
  3. Return fmod(x, y), according to platform C.  x % y may differ.
    " U) \  i8 @, j
  4. >>> math.fmod(20,3)8 K9 |0 M6 D2 u+ u, L
  5. 2.0% p3 o+ T8 b1 Z
  6. >>> math.fmod(20,7)
    9 t4 a  H' ~3 t* T3 K1 U
  7. 6.0
复制代码

7 e7 q( D( r3 n+ G6 ~math.frexp(x)  返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围; h% s, f6 E! K; Z5 s1 F
  1. #返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围,
    5 r5 N2 `6 }& g
  2. #2**e的值在这个范围内,e取符合要求的最大整数值,然后x/(2**e),得到m的值& x# G2 p3 j, T' a' f
  3. #如果x等于0,则m和e的值都为0,m的绝对值的范围为(0.5,1)之间,不包括0.5和1  ?. c# k! b: d7 X  F
  4. frexp(x)+ g, h+ W8 r3 {
  5. Return the mantissa and exponent of x, as pair (m, e).
    9 P: M# t* n. h- Q
  6. m is a float and e is an int, such that x = m * 2.**e.6 X! e* ~9 t5 p6 G
  7. If x is 0, m and e are both 0.  Else 0.5 <= abs(m) < 1.0.
    8 @! ?3 T+ M& _. l6 _! \
  8. >>> math.frexp(10)
    9 I3 U' d" D) L% F" X9 @; k  o" y. U
  9. (0.625, 4), L4 |- x8 e; ~( l" N" q6 K
  10. >>> math.frexp(75)
    : c7 [; p0 T: b4 K3 y5 q6 x/ y
  11. (0.5859375, 7)$ O5 B; o8 p$ s9 f2 M
  12. >>> math.frexp(-40); u8 o) w5 {3 G# N9 @$ |( q6 V
  13. (-0.625, 6)8 q7 p8 N- G. b8 k1 d  A
  14. >>> math.frexp(-100)
    ! Z6 [2 c, J$ B; J
  15. (-0.78125, 7)/ v& }1 L% B) M% {2 M* n/ F
  16. >>> math.frexp(100)) G3 \) s) D8 G7 R
  17. (0.78125, 7)
复制代码
' s9 z" \3 f. x8 F
math.fsum(seq)  对迭代器里的每个元素进行求和操作:seq 代表 序列( ^; ~5 r1 k+ w5 J+ [7 c% v
  1. #对迭代器里的每个元素进行求和操作
    ' i* l2 S6 t4 W# T1 Y; y
  2. fsum(iterable)
    / V/ K- ^2 G) v4 Z, x
  3. Return an accurate floating point sum of values in the iterable.
    9 P4 I, E1 [1 U2 ?# \: a2 O
  4. Assumes IEEE-754 floating point arithmetic.7 V1 e$ m$ C# `4 m
  5. >>> math.fsum([1,2,3,4])$ K  o5 ]# t" l1 w- y* z
  6. 10.04 }+ N. d' x* [. [+ a
  7. >>> math.fsum((1,2,3,4))9 T: g2 o8 a- {3 m' u
  8. 10.0
    / X' |; M5 `& A7 B: E& b
  9. >>> math.fsum((-1,-2,-3,-4))4 X( U- X) i/ d6 W; O6 x" s- e. i
  10. -10.06 A) V! M0 N& O" j$ x2 I% _
  11. >>> math.fsum([-1,-2,-3,-4])2 S7 x" B8 x* ]! _# `) k
  12. -10.0
复制代码
6 D7 k" @* l7 V, {! N2 Y/ e8 g
math.gcd(x,y)  返回x和y的最大公约数: U. B" K  f* \0 N. c) R
  1. #返回x和y的最大公约数) Z& E! [* h  }) e! c  F; {
  2. gcd(x, y) -> int/ g: I* t- R0 r. m' Y
  3. greatest common divisor of x and y3 I/ h5 l- ?6 O9 _2 \
  4. >>> math.gcd(8,6)
    % p2 I3 ^1 b+ @. t! \" `7 w+ M
  5. 2% p9 \- N* b  _( p7 b; N: H1 o
  6. >>> math.gcd(40,20): f/ V& q$ m& U
  7. 20
    4 \: A0 w5 N7 \; W& D" ~$ Y
  8. >>> math.gcd(8,12)
    " z# |8 q3 W+ g  y3 o" D
  9. 4
复制代码

1 i# U1 [, ~% j: k: c! D  ^: jmath.hypot(x,y)  如果x是不是无穷大的数字,则返回True,否则返回False
2 l. ~4 F- j; p$ s
  1. #得到(x**2+y**2),平方的值
    : a: i6 ^* ~8 A& F6 b
  2. hypot(x, y)7 X! q1 ^. u/ i6 |
  3. Return the Euclidean distance, sqrt(x*x + y*y)., N  Y$ a, Y$ c  M& c' ~3 E
  4. >>> math.hypot(3,4)
    ( `9 _/ k5 k+ U9 U
  5. 5.0
    $ [" A) Z# ]1 R  d5 j
  6. >>> math.hypot(6,8)0 n. x  o/ ^  i, l+ l
  7. 10.0
复制代码
% ?3 \% X) p0 f* S$ P; b: \
math.isfinite()  如果x是正无穷大或负无穷大,则返回True,否则返回False3 ?  d. S% N  {3 n8 e9 t+ ]; f
  1. #如果x是不是无穷大的数字,则返回True,否则返回False
    9 K$ D: `. c: f1 J3 D+ N
  2. isfinite(x) -> bool
    * E4 J- }( @2 C1 s7 m' X4 q: ]% K
  3. Return True if x is neither an infinity nor a NaN, and False otherwise.
    ) M, V+ n$ t; p: J2 l7 |4 Q
  4. >>> math.isfinite(100)( x7 ~8 i: u( O4 K! p$ o# z4 `
  5. True
    ( ^. \$ j9 ?/ i! s3 a: K
  6. >>> math.isfinite(0)
    " z8 V/ ?( Z2 X! y6 I
  7. True
    " g) A9 Y: v9 {1 ?
  8. >>> math.isfinite(0.1)2 @; v* Q( @5 l3 ~; o( j- F1 P2 p
  9. True
    & Y3 J- r* x7 e& Y
  10. >>> math.isfinite("a")
    & R. p" y, o9 r1 l
  11. >>> math.isfinite(0.0001)3 @0 I2 y" I/ ]) K9 q
  12. True
复制代码
4 y5 z; z: W$ K
math.isinf(x)  如果x是正无穷大或负无穷大,则返回True,否则返回False
6 y0 }$ Z) Z- `  o1 C: o3 N
  1. #如果x是正无穷大或负无穷大,则返回True,否则返回False/ y% ?4 L- O+ v1 b& R. L& J
  2. isinf(x) -> bool
    # I4 i( c4 S9 J/ D. N4 a- b6 `
  3. Return True if x is a positive or negative infinity, and False otherwise.
    9 h; P6 L( B* d; l. E
  4. >>> math.isinf(234)1 g' ~5 H8 a$ {2 w* L# J' t5 U8 R
  5. False% a% x- W) w; Q5 X' [6 Z2 j6 {
  6. >>> math.isinf(0.1)* a* S' j$ K) w) }; l
  7. False
复制代码

, k5 d2 Q! ?% T% Bmath.isnan(x)  如果x不是数字True,否则返回False
: p# z3 V9 H* U- D
  1. #如果x不是数字True,否则返回False. t+ i( O+ h3 u' h0 q
  2. isnan(x) -> bool3 z' H" F, ~& f7 U. B2 O# c0 `
  3. Return True if x is a NaN (not a number), and False otherwise.2 B6 l+ K( f8 }; m
  4. >>> math.isnan(23)
    : ^% O% z+ b0 J7 u
  5. False
    / u6 _/ e# b5 u1 o
  6. >>> math.isnan(0.01)
    ' C3 t4 Y3 M9 d' P, w8 N" h' P
  7. False
复制代码
: d' A, p; g" `+ |. o! z- [
math.ldexp(x,i)  返回x*(2**i)的值1 ]6 ]6 N7 X8 X" S; z8 J
  1. #返回x*(2**i)的值8 ?' S+ t4 _) I* C' E% d3 [# E
  2. ldexp(x, i)
    8 v4 ^7 O" f2 \7 N' e
  3. Return x * (2**i).# w2 }3 V$ E5 t  L% D' ~. N
  4. >>> math.ldexp(5,5)
    $ f/ X0 C/ E* K" M
  5. 160.0
      B5 O/ {  E  t8 u6 o- r! U
  6. >>> math.ldexp(3,5), O- c' |+ Q, z# Q" P5 l
  7. 96.0
复制代码

& e" _/ l% Z: w; F# P6 Imath.log10(x)  返回x的以10为底的对数
: M" m0 l* q3 W. ~8 n" o
  1. #返回x的以10为底的对数
    : G4 E4 v  m! i2 h6 i! `: P1 s9 h
  2. log10(x)* Y" A" m6 g( v
  3. Return the base 10 logarithm of x.1 ~, h, {( [, c( L( m; c2 n4 Z
  4. >>> math.log10(10)
    1 u: [+ V9 H" A. U
  5. 1.0
    4 r4 x* M' {8 l: J
  6. >>> math.log10(100)
    3 ~4 \  o3 Q" X
  7. 2.0
    2 j0 [. }1 M3 Q6 [, |5 g
  8. #即10的1.3次方的结果为20
    7 j9 k/ }9 u! R6 e% B
  9. >>> math.log10(20)
    ! R; R1 b8 \2 K* ^0 F
  10. 1.3010299956639813
复制代码
4 b# @0 S& O1 {9 c: P0 Z9 }
math.log1p(x)  返回x+1的自然对数(基数为e)的值
2 c' i2 y3 ]! G  W# R  r
  1. #返回x+1的自然对数(基数为e)的值
    7 k$ @2 E+ m; ]2 A/ j/ a+ ?# U
  2. log1p(x)
    0 A/ ]- Y/ a# d# U
  3. Return the natural logarithm of 1+x (base e).! z/ r! W( ^5 B, m$ I; q$ O6 @
  4. The result is computed in a way which is accurate for x near zero.! Y% O4 R! v9 Y5 j
  5. >>> math.log(10). \7 a3 n* V+ s
  6. 2.302585092994046) d, t1 ~' v0 l1 x1 |: W4 g
  7. >>> math.log1p(10)8 N. o7 y& O# A
  8. 2.3978952727983707! p% c, }, P& i, P! G) |0 Q. n
  9. >>> math.log(11)% ?3 e$ R4 q3 b
  10. 2.3978952727983707
复制代码

3 g3 A% ^' A2 P& D4 B7 ]1 `. gmath.log2(x)  返回x的基2对数* [+ g  i3 @) D8 |, W0 }# E& q, C; l
  1. #返回x的基2对数: p+ [/ U9 N# l7 Y5 U0 t: A
  2. log2(x)
    4 m/ P0 a- ?  E" G
  3. Return the base 2 logarithm of x.
    9 x+ y- M% d2 A+ P0 q0 l6 N; r7 T
  4. >>> math.log2(32)5 I& q7 [! }5 X* K
  5. 5.0
    3 ?: [, N2 Y0 s0 U! J
  6. >>> math.log2(20)! J4 F# k% o- E5 T/ f
  7. 4.321928094887363. r/ b" C" \/ n) l
  8. >>> math.log2(16)/ _& [3 G# m; f8 c
  9. 4.0
复制代码
9 _1 Y" f2 x- I9 i6 H* m
math.modf(x)  返回由x的小数部分和整数部分组成的元组
. h* _( E6 ]) }: G4 }
  1. #返回由x的小数部分和整数部分组成的元组
    1 T7 w7 H; v7 z' |+ s
  2. modf(x). G2 ^* o7 \% U( A
  3. Return the fractional and integer parts of x.  Both results carry the sign
    ; N; T& }# f# d' b3 j2 u
  4. of x and are floats.. R6 E9 k+ F& d
  5. >>> math.modf(math.pi)
    * ]9 l4 C8 w+ @- S! O
  6. (0.14159265358979312, 3.0)- F+ u. N# A7 h1 d) N
  7. >>> math.modf(12.34)
    $ C+ o' O4 j% {0 y/ L# E7 W4 T* p" i
  8. (0.33999999999999986, 12.0)
复制代码

8 p& _2 C4 t6 ^& e7 Y; |math.sqrt(x)  求x的平方根
# ~/ `0 w" z8 s: B3 w2 }
  1. #求x的平方根% W4 q2 y( }+ K- C
  2. sqrt(x); ^1 n) c3 \4 T4 `4 n" Z
  3. Return the square root of x.# z& g) l6 G$ N- u+ w. t, ~
  4. >>> math.sqrt(100)
    4 @  `" O7 I/ ~  Y3 l4 ?$ r
  5. 10.0
    . R- Q. B5 M& E* q5 r
  6. >>> math.sqrt(16)+ r% U& {& C2 N; l% O
  7. 4.0
    + y; u+ U6 K6 T  X* z- e
  8. >>> math.sqrt(20), z9 w8 o. w/ X) f
  9. 4.47213595499958
复制代码
& i! w% w' |1 X, ^/ y5 _
math.trunc(x)  返回x的整数部分
  1. #返回x的整数部分- T# t% `  v( A7 S
  2. trunc(x:Real) -> Integral
    2 p% B/ W8 S# [2 \! U
  3. Truncates x to the nearest Integral toward 0. Uses the __trunc__ magic method." z% \) B* p7 d; u
  4. >>> math.trunc(6.789)
    ) Z3 ]: I( }& b' B
  5. 6
    8 ?. ~6 e# r5 |0 e2 S$ h
  6. >>> math.trunc(math.pi)
    ' Q4 T( ]1 t3 j
  7. 3* W4 W0 R8 R5 m5 t" z
  8. >>> math.trunc(2.567)2 ~8 C- Q! l: b# V1 w* }
  9. 2
复制代码
:其中蓝色字体部分是高中需要掌握的基本语法

最新评论

新大榭七周年,感谢由您!

文字版|小黑屋|新大榭 ( 浙ICP备16018253号-1 )|点击这里给站长发消息|

GMT+8, 2025-11-30 07:51 , Processed in 0.080165 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表