官术网_书友最值得收藏!

6.1 改變“呆頭”小鎮(zhèn)的關(guān)鍵——隨機數(shù)

隨機數(shù)就是我們無法提前知道、無法預(yù)測的數(shù)字。在人類的實際生活中,很多地方都離不開隨機數(shù),如抽獎、選幸運觀眾、上網(wǎng)用到的驗證碼、開電子密碼鎖等,我們無法提前知道結(jié)果,這些活動本質(zhì)上就是在利用隨機數(shù)。

在Python王國里,隨機函數(shù)主要分為3種:獲得整數(shù)的隨機函數(shù)、獲得小數(shù)的隨機函數(shù)和隨機抽取序列元素的隨機函數(shù)。

在Python編程中,若要使用隨機數(shù),需要首先使用我們前面學(xué)過的咒語——import語句。也就是告訴計算機我們要用隨機數(shù)了,要它做好準(zhǔn)備,就像下面這樣:

import random

6.2 就像抽獎——隨機整數(shù)

隨機整數(shù)是我們在編程中最常用到的隨機數(shù)。在通過import語句引入random模塊之后,只需要按照下面的格式編寫代碼就可以獲得一個大于或等于m、小于或等于n的隨機整數(shù)。這就如同抽獎:將從m到n的所有整數(shù)都分別寫在一張紙條上,然后把這些紙條放在一個大罐子里,抽獎的人閉著眼睛從罐子里隨便抽出一張紙條,紙條上的數(shù)字就是獲得的隨機整數(shù),如圖6.1所示。

例如,我們要從100個人中抽取一名幸運的獲獎?wù)撸托枰總€人對應(yīng)1~100范圍內(nèi)的一個號碼,這樣就可以通過下面的程序進行抽獎了:

import random
num = random.randint(1, 100)
print(num)

圖6.1 隨機整數(shù)與抽獎類比圖

在上面的代碼中,我們將隨機數(shù)賦值給一個變量num,又通過print語句將獲得的隨機數(shù)結(jié)果顯示出來。通過運行結(jié)果我們就會發(fā)現(xiàn),每次返回的結(jié)果都是不一樣的,并且是我們無法提前知道的。其實隨機數(shù)讓生活中的很多事情變得更加公平。

我們平時上網(wǎng)用到的驗證碼其實也是一種隨機函數(shù)。例如,我們要生成一個4位的隨機驗證碼,就可以通過下面的代碼實現(xiàn):

import random
num1 = random.randint(0, 9)
num2 = random.randint(0, 9)
num3 = random.randint(0, 9)
num4 = random.randint(0, 9)
print(num1, num2, num3, num4, sep='')

在上面的代碼中,我們用了4個隨機函數(shù),并將結(jié)果分別賦值給4個變量,最后用print語句輸出結(jié)果。其實上面的代碼如果用循環(huán)控制會變得更加簡單,關(guān)于循環(huán)控制,我們會在后面進行詳細講解。

主站蜘蛛池模板: 安徽省| 万年县| 乌兰县| 古蔺县| 静乐县| 博乐市| 白朗县| 柳江县| 宜兴市| 保德县| 大新县| 济宁市| 沐川县| 海门市| 龙南县| 云阳县| 调兵山市| 大荔县| 四子王旗| 建平县| 北海市| 冷水江市| 南华县| 伊宁市| 故城县| 怀宁县| 元阳县| 页游| 石景山区| 龙山县| 神农架林区| 收藏| 修文县| 沐川县| 将乐县| 阳城县| 沭阳县| 洛扎县| 义乌市| 焉耆| 肥西县|