使用random.randint(a, b)生成包含a和b的隨機(jī)整數(shù),random.randrange(a, b, step)生成從a開(kāi)始、不包含b、可設(shè)步長(zhǎng)的隨機(jī)整數(shù);2. random.random()生成[0.0, 1.0)之間的隨機(jī)浮點(diǎn)數(shù),random.uniform(a, b)生成[a, b]區(qū)間內(nèi)的隨機(jī)浮點(diǎn)數(shù);3. random.choice(seq)從序列中隨機(jī)選一個(gè)元素,random.choices(seq, k=n)可重複地選n個(gè),random.sample(seq, k=n)不重複地選n個(gè);4. random.shuffle(list)直接打亂列表順序,不返回新列表;5. random.seed(n)設(shè)置隨機(jī)種子,使後續(xù)隨機(jī)結(jié)果可複現(xiàn),適用於調(diào)試和測(cè)試,所有操作均基於random模塊實(shí)現(xiàn),需先導(dǎo)入該模塊,使用時(shí)需注意邊界包含情況和抽樣是否重複,以上方法覆蓋了Python中隨機(jī)數(shù)生成的主要常見(jiàn)場(chǎng)景,能夠滿(mǎn)足大多數(shù)日常編程需求。
生成隨機(jī)數(shù)是Python 中很常見(jiàn)的操作,主要用到random
模塊。下面是一些常用示例,覆蓋整數(shù)、浮點(diǎn)數(shù)、區(qū)間選擇等常見(jiàn)場(chǎng)景。

1. 生成隨機(jī)整數(shù)( randint
和randrange
)
import random # 生成1 到10 之間的隨機(jī)整數(shù)(包含1 和10) num = random.randint(1, 10) print(num) # 生成0 到9 之間的隨機(jī)整數(shù)(不包含10) num2 = random.randrange(0, 10) print(num2)
randint(a, b)
:a 和b 都包含randrange(a, b)
:包含a,不包含b,還可以加步長(zhǎng),比如randrange(0, 10, 2)
只生成偶數(shù)
2. 生成隨機(jī)浮點(diǎn)數(shù)
# 生成0.0 到1.0 之間的隨機(jī)浮點(diǎn)數(shù)f = random.random() print(f) # 生成指定範(fàn)圍內(nèi)的浮點(diǎn)數(shù),比如1.5 到10.5 之間f2 = random.uniform(1.5, 10.5) print(f2)
-
random()
:返回[0.0, 1.0) 之間的數(shù) uniform(a, b)
:返回[a, b] 區(qū)間內(nèi)的浮點(diǎn)數(shù)
3. 從列表中隨機(jī)選擇元素
colors = ['red', 'blue', 'green', 'yellow'] # 隨機(jī)選一個(gè)choice = random.choice(colors) print(choice) # 隨機(jī)選多個(gè)(可重複) choices = random.choices(colors, k=3) print(choices) # 隨機(jī)選多個(gè)(不重複) sample = random.sample(colors, k=2) print(sample)
-
choice()
:選一個(gè) choices()
:可重複抽樣sample()
:不重複抽樣,k 不能大於列表長(zhǎng)度
4. 打亂列表順序(洗牌)
numbers = [1, 2, 3, 4, 5] random.shuffle(numbers) # 原地打亂,不返回新列表print(numbers)
注意: shuffle
直接修改原列表,不返回新列表。

5. 設(shè)置隨機(jī)種子(用於可複現(xiàn)結(jié)果)
random.seed(42) # 設(shè)置種子print(random.randint(1, 100)) # 每次運(yùn)行結(jié)果相同
在調(diào)試或?qū)嶒?yàn)中,設(shè)置seed
可以讓隨機(jī)數(shù)變得“可預(yù)測(cè)”,方便測(cè)試。
基本上就這些常用操作。 random
模塊簡(jiǎn)單實(shí)用,適合大多數(shù)日常需求。不復(fù)雜但容易忽略細(xì)節(jié),比如邊界是否包含、是否可重複等。

以上是Python隨機(jī)數(shù)示例的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

懶加載在訪問(wèn)關(guān)聯(lián)時(shí)才查詢(xún),易導(dǎo)致N 1問(wèn)題,適合不確定是否需要關(guān)聯(lián)數(shù)據(jù)的場(chǎng)景;2.急加載使用with()提前加載關(guān)聯(lián)數(shù)據(jù),避免N 1查詢(xún),適合批量處理場(chǎng)景;3.應(yīng)優(yōu)先使用急加載優(yōu)化性能,可通過(guò)LaravelDebugbar等工具檢測(cè)N 1問(wèn)題,並謹(jǐn)慎使用模型的$with屬性以避免不必要的性能開(kāi)銷(xiāo)。

Laravel支持使用原生SQL查詢(xún),但應(yīng)優(yōu)先使用參數(shù)綁定以確保安全;1.使用DB::select()執(zhí)行帶參數(shù)綁定的SELECT查詢(xún),防止SQL注入;2.使用DB::update()執(zhí)行UPDATE操作並返回影響行數(shù);3.使用DB::insert()插入數(shù)據(jù);4.使用DB::delete()刪除數(shù)據(jù);5.使用DB::statement()執(zhí)行如CREATE、ALTER等無(wú)結(jié)果集的SQL語(yǔ)句;6.推薦在QueryBuilder中使用whereRaw、selectRaw等方法結(jié)合原生表達(dá)式以提升安

Go泛型從1.18開(kāi)始支持,用於編寫(xiě)類(lèi)型安全的通用代碼。 1.泛型函數(shù)PrintSlice[Tany](s[]T)可打印任意類(lèi)型切片,如[]int或[]string。 2.通過(guò)類(lèi)型約束Number限制T為int、float等數(shù)字類(lèi)型,實(shí)現(xiàn)Sum[TNumber](slice[]T)T安全求和。 3.泛型結(jié)構(gòu)體typeBox[Tany]struct{ValueT}可封裝任意類(lèi)型值,配合NewBox[Tany](vT)*Box[T]構(gòu)造函數(shù)使用。 4.為Box[T]添加Set(vT)和Get()T方法,無(wú)需

JWT是一種用於安全傳輸信息的開(kāi)放標(biāo)準(zhǔn),在Java中可通過(guò)JJWT庫(kù)實(shí)現(xiàn)認(rèn)證與授權(quán),1.添加JJWT的API、Impl和Jackson依賴(lài);2.創(chuàng)建JwtUtil工具類(lèi)生成、解析和驗(yàn)證Token;3.編寫(xiě)JwtFilter攔截請(qǐng)求併校驗(yàn)Authorization頭中的BearerToken;4.在SpringBoot中註冊(cè)Filter保護(hù)指定路徑;5.提供登錄接口在驗(yàn)證用戶(hù)後返回JWT;6.受保護(hù)接口通過(guò)解析Token獲取用戶(hù)身份和角色進(jìn)行訪問(wèn)控制,最終實(shí)現(xiàn)無(wú)狀態(tài)、可擴(kuò)展的安全機(jī)制,適合分佈式系

json.loads()用於將JSON字符串解析為Python數(shù)據(jù)結(jié)構(gòu),1.輸入必須是雙引號(hào)包裹的字符串且布爾值為true/false;2.支持null→None、對(duì)象→dict、數(shù)組→list等自動(dòng)轉(zhuǎn)換;3.常用於處理API返回的JSON字符串,如response_string經(jīng)json.loads()解析後可直接訪問(wèn)嵌套數(shù)據(jù),使用時(shí)需確保JSON格式正確,否則會(huì)拋出異常。

使用datetime.strptime()可將日期字符串轉(zhuǎn)換為datetime對(duì)象,1.基本用法:通過(guò)"%Y-%m-%d"解析"2023-10-05"為datetime對(duì)象;2.支持多種格式如"%m/%d/%Y"解析美式日期、"%d/%m/%Y"解析英式日期、"%b%d,%Y%I:%M%p"解析帶AM/PM的時(shí)間;3.可用dateutil.parser.parse()自動(dòng)推斷未知格式;4.使用.d

settings.json文件位於用戶(hù)級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶(hù)級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

是的,一個(gè)常見(jiàn)的CSS下拉菜單可以通過(guò)純HTML和CSS實(shí)現(xiàn),無(wú)需JavaScript。 1.使用嵌套的ul和li構(gòu)建菜單結(jié)構(gòu);2.通過(guò):hover偽類(lèi)控制下拉內(nèi)容的顯示與隱藏;3.父級(jí)li設(shè)置position:relative,子菜單使用position:absolute進(jìn)行定位;4.子菜單默認(rèn)display:none,懸停時(shí)變?yōu)閐isplay:block;5.可通過(guò)嵌套實(shí)現(xiàn)多級(jí)下拉,結(jié)合transition添加淡入動(dòng)畫(huà),配合媒體查詢(xún)適配移動(dòng)端,整個(gè)方案簡(jiǎn)潔且無(wú)需JavaScript支持,適合大
