日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python標(biāo)準(zhǔn)庫之Math,Random模塊使用詳解_python

作者:小小垂髫 ? 更新時(shí)間: 2022-07-15 編程語言

數(shù)學(xué)模塊

import math

ceil -- 上取整

對一個(gè)數(shù)向上取整(進(jìn)一法),取相鄰最近的兩個(gè)整數(shù)的最大值。

import math
res = math.ceil(4.1)
print(res)  # 5

floor -- 下取整

對一個(gè)數(shù)向下取整(退一法),取相鄰最近的兩個(gè)整數(shù)的最小值。

import math
res = math.floor(-3.9)
print(res)  # -4

四舍五入

將常用的內(nèi)置函數(shù) -- round。

pow -- 冪運(yùn)算

計(jì)算一個(gè)數(shù)字的N次方。

import math

""" 調(diào)用的數(shù)學(xué)模塊中的方法和內(nèi)置的主要區(qū)別就是內(nèi)置返回整數(shù),數(shù)學(xué)模塊返回小數(shù) """

# 數(shù)學(xué)模塊
res = math.pow(2, 3)
print(res)  # 8.0

# 內(nèi)置函數(shù)
res = pow(2, 3)
print(res)  # 8

# 更簡單的方法就是使用 ** 進(jìn)行冪運(yùn)算
res = 2 ** 3
print(res)  # 8

sqrt -- 開平方運(yùn)算

import math
res = math.sqrt(9)  # 結(jié)果為浮點(diǎn)型
print(res)  # 3.0

fabs -- 絕對值

import math

""" 調(diào)用的數(shù)學(xué)模塊中的方法和內(nèi)置的主要區(qū)別就是內(nèi)置返回整數(shù),數(shù)學(xué)模塊返回小數(shù) """

# 數(shù)學(xué)模塊
res = math.fabs(-12341234123)
print(res)  # 12341234123.0

# 內(nèi)置函數(shù)
res = abs(-12341234123)
print(res)  #12341234123

modf -- 拆分整數(shù)小數(shù)

將一個(gè)數(shù)值拆分為小數(shù)和整數(shù)兩個(gè)部分,組成元組,值為浮點(diǎn)型。

import math
res = math.modf(100.666)
print(res)  # (0.6659999999999968, 100.0)

copysign -- 正負(fù)拷貝

將第二個(gè)參數(shù)的正負(fù)狀態(tài)拷貝給第一參數(shù)。(返回浮點(diǎn)型)

import math
res = math.copysign(100, -200)
print(res)  # -100.0

fsum -- 序列和

將一個(gè)容器中的元素進(jìn)行求和運(yùn)算(結(jié)果為浮點(diǎn)數(shù))

import math
lst = [1, 2, 3]
res = math.fsum(lst)
print(res)  # 6.0

pi -- 圓周率常數(shù)

import math
res = math.pi
print(res)  # 3.141592653589793

factorial -- 因數(shù)

import math

# 求5的因數(shù)
factor = math.factorial(5)
print(factor)  # 120

隨機(jī)模塊

import random

random -- 獲取 0~~1 之間的小數(shù)

random 隨機(jī)獲取0 ~ 1之間的小數(shù)(左閉右開)0 <= x < 1

import random
res = random.random()
print(res)  # 0.15195915170299268

randrange -- 獲取指定范圍內(nèi)的整數(shù)

語法:rangrange(start, end[, step])

randint -- 獲取指定范圍整數(shù)

語法:randint(a, b)

相比 randrange 靈活性低,但是結(jié)束值可用

uniform -- 獲取指定范圍內(nèi)隨機(jī)小數(shù)(左閉右開)

import random

# uniform 獲取指定范圍內(nèi)的隨機(jī)小數(shù)(左閉右開)
res = random.uniform(1, 3)
print(res)  # 2.81589512983781

# 因?yàn)閮?nèi)置機(jī)制的原因(uniform 可以將數(shù)值顛倒,并達(dá)到相同的效果)
res = random.uniform(3, 1)
print(res)  # 1.4023313207919326

choice -- 隨機(jī)獲取序列中的值(多選一)

import random

# 可以嘗試使用 randrange 實(shí)現(xiàn)

lst = ['A', 'B', 'C', 'D', 'E']
res = random.choice(lst)
print(res)  # E

sample -- 隨機(jī)獲取序列中的值(多選多,返回列表)

語法:sample(poplation, num)

import random

lst = ['A', 'B', 'C', 'D', 'E', 'F']

res = random.sample(lst, 1)
print(res)  # ['F']

res = random.sample(lst, 2)
print(res)  # ['C', 'A']

shuffle -- 隨機(jī)打亂序列中的值(原地址操作)

import random

lst = ['A', 'B', 'C', 'D', 'E', 'F']

random.shuffle(lst)
print(lst)  # ['F', 'D', 'C', 'B', 'E', 'A']

實(shí)現(xiàn)隨機(jī)驗(yàn)證碼

import random


def getVer():
    ver_code = ''
    # 隨機(jī)抽取四個(gè)字符
    for i in range(4):
        s_char = chr(random.randrange(97, 123))
        b_char = chr(random.randrange(65, 91))
        num = str(random.randrange(10))
        lst = [s_char, b_char, num]
        ver_code += random.choice(lst)
    return ver_code


ver = getVer()
print(ver)  # b4Vq

原文鏈接:https://www.cnblogs.com/msr20666/p/16287516.html

欄目分類
最近更新