欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数

程序员文章站 2022-03-14 10:15:36
...

常见的数学函数

函数名 描述
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
log(x) 如math.log(math.e)返回1.0,math.log(100,1++9+99±0)返回2.0-----4
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,…) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
sqrt(x) 返回数字x的平方根
cmp(x, y) Py2,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
导入有两种方式:
1.>>> import math
>>> type(math.fabs(-9))
<class 'float'>
2.>>> from math import *
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>> type(fabs(-9))
<class 'float'>
>>>不用math调用 直接调用 已经导入了math所有的函数
  • cmp()函数

    python2使用,python3已取消。

    Python3中对应的使用:

    >>>import operator
    
    然后:
    
    >>> operator.eq("a","a");
    
    True
    
    lt(a,b) 相当于 a<b     从第一个数字或字母(ASCII)比大小
    
          less than(a小于b返回true)
    
      le(a,b)相当于a<=b
    
          less and equal(a小于等于b返回b)
    
      eq(a,b)相当于a==b     字母完全一样,返回True,
    
          equal
    
      ne(a,b)相当于a!=b
    
          not equal(a不等于b返回true)
    
      gt(a,b)相当于a>b
    
          greater than(a大于b返回true)
    
      ge(a,b)相当于 a>=b
    
          greater and equal(a大于等于b返回true)
    
      函数的返回值是布尔
    
    

随机函数(rdndom)

  • 模块导入

     方法一
     import random
     方法二
     from random import *  不推荐使用
    
  • 查看对应的方法和属性

    >>> dir()
    ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
    >>> from random import *
    >>> dir()
    ['Random', 'SystemRandom', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
    >>>
    
  • random模块常用的功能

  • 1.random.random():用于随机数生成一个0到1的浮点数
    n(0<n<=1)

>>> import random
>>> num=random.random()
>>> print(num)
0.6311813554312844
>>> print(num)
0.6311813554312844
>>> num=random.random()
>>> print(num)
0.10845867977049228
>>>

  • 2.random.uniform(a,b):用于生成指定范围内的随机浮点数,两个参数,

    其中之一是上线,另一边是下线

    如果a>b生成随机数n:a<=n<b

    如果a<b生成随机数n:b<=n<a

    >>>import random
    >>> random.uniform(1,16)
    7.656012783648118
    >>> random.uniform(16,1)
    4.800826962055476
    >>>
    
  • 3.random.randint(a,b):随机生成a到b范围内的整数你n(a<=n<=b)

    >>>import random
    >>> random.randint(1,10)
    
    
  • 4.random.randrange([start],[stop],[step]):从指定范围内,按指定基数递增的集合中获取一个随机数。

    集合为{start,start+step,start+2*step,…start+n*step}

>>> random.randrange(10,30,2)
28
>>> random.randrange(100,30,-2)
56
>>>
  • 5.random.choice(sequence):从序列中随机数获取一个元素
>>>import random
>>> lst=['python','c','c++','javascripe']
>>> strl=('i love python')
>>> random.choice(lst)
'c++'
>>> random.choice(strl)
' '
>>>
  • 6.random.shuffle(x[,random]):用于将一个列表中的元素打乱,即将列表内的元素随机排列。

    >>> p=['A','B','C','D','E']
    >>> random.shuffle(p)
    >>> p
    ['A', 'E', 'B', 'C', 'D']
    >>> random.shuffle(p)
    >>> p
    ['C', 'A', 'E', 'B', 'D']
    >>>
    
  • 7.random.sample(sequence,k):从指定序列中随机获取指定长度的片段并随机排列。注意:sample函数不会修改原有序列。

    >>> li=[1,2,3,4,5,6,7]
    >>> random.sample(li,4)
    [3, 1, 6, 7]
    >>> random.sample(li,3)
    [4, 2, 1]
    >>> random.sample(li,5)
    [6, 3, 4, 5, 1]
    >>> li
    [1, 2, 3, 4, 5, 6, 7]
    >>>
    

Python流程控制

IF条件分支语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

  • if单分支语句

    if 逻辑语句:
    语句(块)

demo:

print(111)
if True:
    print(222)
print(333)

运行:

111
222
333

如果改成如下:

print(111)
if False:
    print(222)
print(333)

运行:

111
333

将True或者False换成逻辑语句。

import getpass
b=getpass.getpass("请输入:")
将输入的数据隐藏起来 但输入的话程序是已经接收

if多分支语句

Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。

注意:

  • 1.每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

  • 2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

  • 3.在Python中没有switch – case语句。

    if 逻辑语句1:
    	语句{块}1
    elif 逻辑语句2:
    	语句{块}2
    elif 逻辑语句3:
    	语句{块}3
    ......
    elif 逻辑语句n-1:
    	语句{块}n-1
    else:
    语句(块)n
    

    demo

    要求用户输入0-100的数字后,你能正确打印他的对应成绩

sco=int(input("请输入:"))
if sco>100:
	print("最大的才100")
elif sco>=90:
	print("A")
elif sco>=80:
	print("B")
elif sco>=60:
	print("c")
else :
	print("把你家长叫来,D")

While语句

  • 概念:循环用来执行部分代码— 即在一定的条件下执行重复的代码

  • 格式:

    while 逻辑语句:
    	语句(块)
    

    demo:

    1,打印1-100

    a=100
    b=1
    while b<=100:
    	print(b)
    	b+=1 自增不是i++ ++i
        #b=b+1
    

![img](file:///C:\Users\acer\Documents\Tencent Files\2085344176\Image\Group\OGV$OYZIYTU35P4AAUG5YZA.png)

http://www.pythontutor.com/visualize.html#mode=edit
看执行过程

2.求1-100的和

b=1
sun=0
while b<=100:
	sun+=b
	b+=1
print(sun)
相关标签: 函数