回覆列表
  • 1 # daazhu2

    讓我給你個合理的解釋:

    嚴格的說rnd()函式只產生0到1直接的隨機數(但絕不包括0和1),

    那麼得:(當然 位數比我下面的還要大 舉個例子)

    0的無限逼近:0.0000001

    1的無限逼近:0.9999999

    int()函式是個取整函式,它的最大特點(往往讓人錯誤)是忽略了小數部分.

    結果:

    int(0.0000001)=0 int(0.9999999)=0

    從0和1的無限逼近值 * 100(即100*rnd())

    那麼

    100倍0的無限逼近:00.00001 (仍然是0啊) int(100*rnd())=0

    100倍1的無限逼近:99.99999 (永遠也到不了100啊 ) int(100*rnd())=99

    那麼int(100*rnd())+1

    0+1=1

    99+1=100

    最後得出區間:1-100

  • 中秋節和大豐收的關聯?
  • 如何編寫Python文件生成器?