產生隨機數一直是重要的應用,並且在日常生活中有許多用途。 Python提供了一個函數,該函數可以在指定範圍內生成隨機數,還可以為要包含的步驟留出空間,在隨機模塊中稱為randrange()。本文討論了更多有關此函數的信息。
用法: random.randrange(start(opt),stop,step(opt)) 參數: start(opt): Number consideration for generation starts from this, default value is 0. This parameter is optional. stop:Numbers less than this are generated. This parameter is mandatory. step(opt):Step point of range, this won't be included. This is optional. Default value is 1. 返回值: This function generated the numbers in the sequence start-stop skipping step. Exceptions: Raises ValueError if stop <= start and number is non- integral.
# Python code to demonstrate the working of
# randrange()
import random
# Using randrange() to generate numbers from 0-100
print ("Random number from 0-100 is:",end="")
print (random.randrange(100))
# Using randrange() to generate numbers from 50-100
print ("Random number from 50-100 is:",end="")
print (random.randrange(50,100))
# Using randrange() to generate numbers from 50-100
# skipping 5
print ("Random number from 50-100 skip 5 is:",end="")
print (random.randrange(50,100,5))
輸出:
Random number from 0-100 is:26 Random number from 50-100 is:58 Random number from 50-100 skip 5 is:90
異常
1.值錯誤-浮點值
# Python code to demonstrate the Exception of
# randrange(), ValueError, Float value
import random
# Using randrange() to generate numbers from 14.5-100
# Raises Exception
print ("Random number from 14.5-100 is:",end="")
print (random.randrange(14.5,100))
輸出:
Random number from 14.5-100 is:
運行時錯誤:
Traceback (most recent call last): File "/home/5e40f42505a6926d0c75a09bec1279d9.py", line 9, in print (random.randrange(14.5,100)) File "/usr/lib/python3.5/random.py", line 182, in randrange raise ValueError("non-integer arg 1 for randrange()") ValueError:non-integer arg 1 for randrange()
2.值錯誤-開始> =停止
# Python code to demonstrate the Exception of
# randrange(), ValueError, start >= start
import random
# Using randrange() to generate numbers from 500-100
# Raises Exception
print ("Random number from 500-100 is:",end="")
print (random.randrange(500,100))
輸出:
Random number from 500-100 is:
運行時錯誤:
Traceback (most recent call last): File "/home/ea327cf3f1dd801a66a185d101c5cb13.py", line 9, in print (random.randrange(500,100)) File "/usr/lib/python3.5/random.py", line 196, in randrange raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width)) ValueError:empty range for randrange() (500,100, -400)
實際應用
產生隨機數一直是重要的應用,並已用於許多娛樂場遊戲中,用於賭博許多使用骰子概念的兒童遊戲(如ludo等)。下麵的代碼描述了一場簡短的比賽,贏得了100場首勝。每個玩家都可以使用1-10個數字的骰子,即每回合1-10個骰子。
# Python code to demonstrate the Application of
# randrange()
import random
sum = 0
sum1 = 0
count = 0
flag = 0
while(1):
# generate random number at each turn 1-10
r1 = random.randrange(1,10)
r2 = random.randrange(1,10)
# adding to account of players
sum = sum + r1
sum1 = sum1 + r2
count = count+1
print ("Total score of Player 1 after turn %d is: %d " % (count,sum))
# break when player 1 reaches 100
if(sum>=100):
flag=1
break
print ("Total score of Player 2 after turn %d is: %d" % (count,sum1))
# break when player 2 reaches 100
if(sum1>=100):
flag=2
break
if(flag==1):
print("\nPlayer 1 wins the game")
else :
print("\nPlayer 2 wins the game")
輸出:
Total score of Player 1 after turn 1 is: 9 Total score of Player 2 after turn 1 is: 8 Total score of Player 1 after turn 2 is: 15 Total score of Player 2 after turn 2 is: 10 Total score of Player 1 after turn 3 is: 16 Total score of Player 2 after turn 3 is: 12 Total score of Player 1 after turn 4 is: 23 Total score of Player 2 after turn 4 is: 13 Total score of Player 1 after turn 5 is: 26 Total score of Player 2 after turn 5 is: 16 Total score of Player 1 after turn 6 is: 33 Total score of Player 2 after turn 6 is: 23 Total score of Player 1 after turn 7 is: 41 Total score of Player 2 after turn 7 is: 31 Total score of Player 1 after turn 8 is: 43 Total score of Player 2 after turn 8 is: 39 Total score of Player 1 after turn 9 is: 51 Total score of Player 2 after turn 9 is: 45 Total score of Player 1 after turn 10 is: 56 Total score of Player 2 after turn 10 is: 50 Total score of Player 1 after turn 11 is: 57 Total score of Player 2 after turn 11 is: 59 Total score of Player 1 after turn 12 is: 60 Total score of Player 2 after turn 12 is: 66 Total score of Player 1 after turn 13 is: 64 Total score of Player 2 after turn 13 is: 68 Total score of Player 1 after turn 14 is: 69 Total score of Player 2 after turn 14 is: 76 Total score of Player 1 after turn 15 is: 71 Total score of Player 2 after turn 15 is: 80 Total score of Player 1 after turn 16 is: 72 Total score of Player 2 after turn 16 is: 85 Total score of Player 1 after turn 17 is: 76 Total score of Player 2 after turn 17 is: 87 Total score of Player 1 after turn 18 is: 78 Total score of Player 2 after turn 18 is: 94 Total score of Player 1 after turn 19 is: 79 Total score of Player 2 after turn 19 is: 102 Player 2 wins the game
相關用法
注:本文由純淨天空篩選整理自 randrange() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。