- 讀故事學編程:Python王國歷險記
- 一石匠人
- 567字
- 2020-04-03 12:40:42
6.4 孫悟空的圈——隨機小數
在我們的生活中,有些情況是無法用整數來描述的,這就是小數存在的意義。例如,幾個人一起吃一個西瓜,每個人吃多少西瓜?每個人的身高是多少米?爸爸的體重是你的體重的多少倍?上面這些問題的答案只能用小數(或分數)來表示,編程世界有時候也需要一些隨機小數。如果你想獲得0與1之間的任意小數,你會遇到隨機數語句中語法最簡單的一個,如圖6.3所示。

圖6.3 隨機小數示意圖
千萬別小看了這個絕對值小于1的小數,因為它可以用于表示比例、程度等概念,只要增加一個乘數就會讓它變得威力無窮。
例如,《西游記》里孫悟空給他的師父畫了一個圈,他的師父只在圈里活動才能避免妖怪的傷害。假如這個圈的半徑為10米,如何讓師父隨便活動也不會出圈呢?這時候隨機小數就派上用場了。我們可以用比例的思維來理解,最遠的安全距離就是離圓心為半徑100%的距離(也就是1),其他任何大于0且小于1的小數比例都會比1小,這正好符合我們用隨機數語句random.random()生成隨機小數的規范,所以代碼就可以寫成這樣:
import random scaleNum = random.random() dis = 10 * scaleNum print(dis)
又例如,我們制造了一個“飛碟”,其最快速度為5000千米/小時,我們讓其自由飛行并可以隨意變更速度,那么它的速度可能是多少?與上面的案例一樣,我們也需要用比例的思維來解決這個問題,最后的代碼可以是這樣的:
import random scaleNum = random.random() speed = 5000 * scaleNum print(‘飛碟的速度為’, speed, 'km/h')
推薦閱讀
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- ASP.NET Core 5.0開發入門與實戰
- 編寫高質量代碼:改善Python程序的91個建議
- Java持續交付
- Mastering Kali Linux for Web Penetration Testing
- Spring Boot進階:原理、實戰與面試題分析
- Python忍者秘籍
- 低代碼平臺開發實踐:基于React
- 編程與類型系統
- Kotlin開發教程(全2冊)
- Python Interviews
- 軟件測試綜合技術
- 網絡數據采集技術:Java網絡爬蟲實戰
- OpenCV with Python Blueprints
- Magento 2 Beginners Guide