- 讀故事學(xué)編程:Python王國歷險記
- 一石匠人
- 234字
- 2020-04-03 12:40:42
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)控制,我們會在后面進行詳細講解。
- Implementing VMware Horizon 7(Second Edition)
- ASP.NET MVC4框架揭秘
- C# 2012程序設(shè)計實踐教程 (清華電腦學(xué)堂)
- Vue.js 3.x從入門到精通(視頻教學(xué)版)
- Rust編程從入門到實戰(zhàn)
- 羅克韋爾ControlLogix系統(tǒng)應(yīng)用技術(shù)
- RabbitMQ Essentials
- Arduino家居安全系統(tǒng)構(gòu)建實戰(zhàn)
- 區(qū)塊鏈國產(chǎn)化實踐指南:基于Fabric 2.0
- Python 3 Object:oriented Programming(Second Edition)
- C語言程序設(shè)計
- 深入理解Java虛擬機:JVM高級特性與最佳實踐
- 青少年P(guān)ython趣味編程
- Learning Java Lambdas
- Switching to Angular 2