zoukankan      html  css  js  c++  java
  • 14.内置函数-数学模块math-随机模块random

    1.内置函数

    # 1.abs绝对值函数
    print(abs(-33))
    
    # 2.round   四舍五入(n.5 n为偶数则舍弃,n为奇数则进1)
    print(round(2.3))
    print(round(2.5))
    print(round(3.5))
    
    # 3.sum 计算一个系列的和
    lst=[11,22,33,44]
    print(sum(lst))
    
    # 4.max 获取一个数列最大值
    # 5.min 获取一个数列最小值
    lst=[21,3,5,65,-43]
    print(max(lst))
    print(min(lst))
    """
    max与min的高阶用法与sorted相同
    return 最终返回的数据与传入到自定义函数的数据是一致的
    """
    # 练习1
    lst=[("aa",11),("bb",4),("cc",22)]
    def func(n):
        return n[1]
    print(max(lst,key=func))    #("cc",22)
    print(min(lst,key=func))	#("bb",4)
    # 练习2
    dic={"a":11,"bb":22,"cc":33}
    def func(n):
        # print(n)    #字典传入的是键
        return dic[n]
    print(max(dic,key=func))	#cc
    
    # 6.pow 计算某个数值的x次方
    print(pow(3,3)) #两个参数
    print(pow(3,4,4))   #前两个数的结果第三个参数取余
    
    # 7.bin 将十进制转化为二进制
    # 8.oct 将十进制转化为八进制
    # 9.hex 将十进制转化为十六进制
    print(bin(33))
    print(oct(33))
    print(hex(33))
    
    # 10.chr 将ASCII编码转换为字符
    # 11.ord 将字符转换为ASCII编码
    print(chr(65))
    print(ord("1"))
    
    # 12.eval 将字符串当做Python代码执行 慎用
    # 13.exec 将字符串当做Python代码执行(功能更强大) 慎用
    strvar='print("和借款方")'
    print(strvar)
    eval(strvar)
    strvar="""
    for i in range(10):
        print(i)
    """
    exec(strvar)
    
    # 14.repr  不转义字符输出字符串(等价于原字符串)
    strvar="
    jdfk	jdfsl
    "
    print(repr(strvar))
    
    # 15.hash 生成哈希值   
    res1=hash("aa")
    res2=hash("aa")
    print(res1) 
    print(res1,res2)    #同一时间哈希相同的值一样
    # 可以用来检查两个文件是否一样
    with open("笔记1.py",mode="r+",encoding="utf-8") as fp1:
    with open("笔记2.py",mode="r+",encoding="utf-8") as fp2:
    	res1 = hash(fp1.read())
    	res2 = hash(fp2.read())
    	if res1 == res2:
    		print("文件内容一致")
    	else:
    		print("文件内容不一致")
    

    2.数学模块:math

    import math  #引入模块
    
    # 1.ceil 向上取整
    # 2.floor 向下取整
    print(math.ceil(3.3))    #4
    print(math.floor(3.3))  #3
    
    # 3.fabs 绝对值(结果为浮点数)(对比内置abs)
    print(math.fabs(-4))    #4.0
    
    # 4.fsum 将一个数列进行求和(结果为浮点数)(对比内置sum)
    lst=[1,2,3,4]
    print(math.fsum(lst))   #10.0
    
    # 5.圆周率常数 pi
    print(math.pi)
    
    # 6.pow(a,n) 计算a的n次方(结果为浮点数)(对比内置pow)只有两个参数
    print(math.pow(2,3))    #8.0
    
    # 7.sqrt 开平方运算(结果为浮点数)
    print(math.sqrt(9))     #3.0
    
    # 8.modf 将一个数值拆分成小数和整数部分(浮点数)组成元组
    print(math.modf(3.45))
    
    # 9.copysign 将参数第二个数值的正负号拷贝给第一个数值(结果为浮点数)
    print(math.copysign(11,-1)) #-11.0
    

    3.随机模块 :random

    import random
    # 1.random 随机获取[0,1)之间的小数
    # 2.uniform(a,b) 随机获取[a,b)之间的小数(a,b大小无限制)
    print(random.random())
    print(random.uniform(-1,1))
    
    # 3.randrange(开始,结束,间隔值) 随机获取指定范围的一个整数(留头舍尾)
    # 4.randint(开始,结束)  固定格式  随机获取指定范围的一个整数(区间都能取到)
    print(random.randrange(4))  #0,1,2,3中一个
    print(random.randrange(1,5))#1,2,3,4中一个
    print(random.randrange(1,10,3))#1,4,7中一个
    print(random.randint(1,5))      #1,2,3,4中一个
    
    # 5.choice 随机获取序列中的一个值(多选一)
    # 6.sample(a,n) 随机获取a序列中的n个值(多选多,返回一个列表)
    lst=[1,2,3,4,"a","b","c"]
    print(random.choice(lst))
    print(random.sample(lst,1))
    
    # 7.shuffle 随机打乱序列中的值(打乱的是原序列)
    lst=[1,2,3,4,5]
    random.shuffle(lst)
    print(lst)
    
    # 验证码功能
    def func():
        strvar=""
        lst=[]
        for i in range(4):  #4位验证码
            num=str(random.randrange(10))   #验证码中有数字
            lst.append(num)
            xiaoxie=chr(random.randrange(97,123))   #验证码中有小写字母
            lst.append(xiaoxie)
            daxie=chr(random.randrange(65,91))      #验证码中有大写字母
            lst.append(daxie)
            strvar+=random.choice(lst)  #随机在列表中选择一个到strvar
        return strvar
    print(func())
    
  • 相关阅读:
    DropDownList判断值是否存在下拉列表中
    postgre教程
    Cookie seesion 赋值
    Winform定时启动
    ASP.NET数据绑定控件
    ASP.NET常用数据绑定控件优劣总结
    Cards and Joy (dp好题)
    River Hopscotch (二分)
    剪花布条(KMP入门)
    GCD (区间数的质因子打表+容斥原理)
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14106135.html
Copyright © 2011-2022 走看看