他們兩個之間的區別是,當你知道這兩個區間的界限randint
才能使用。 如果您只知道區間randint
的第一個限制會返回錯誤。在這種情況下,您可以使用randrange
只有一個間隔,它將工作。 嘗試運行下面的代碼與隨機三角形填充屏幕:
import random
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
def random_triangle(l1,l2,l3,l4,l5,l6):
x1 = random.randrange(l1)
y1 = random.randrange(l2)
x2 = x1 + random.randrange(l3)
y2 = y1 + random.randrange(l4)
x3 = x2 + random.randrange(l5)
y3 = y2 + random.randrange(l6)
canvas.create_polygon(x1,y1,x2,y2,x3,y3)
for x in range(0, 100):
random_triangle(300,400,200,500,400,100)
嘗試使用randint
功能再次運行上面的代碼。你會看到你會得到一個錯誤信息。
相關:http://stackoverflow.com/questions/2568783/python-why-does-random-randinta-b-return-a-range-inclusive-of-b/2568917#2568917 – kennytm 2010-08-22 08:00:37
你有兩個值你想要返回並且2-0 = 2(2不包括在範圍內)。範圍數(a,b)始終是ba,並且通常最清晰的寫入範圍是範圍(a,a + count) – 2010-08-22 13:22:29