以下程序的功能是隨機生成 100 個 97-122 之間的正整數(包括 97 和 122),並將一個區間內的數取出並按升序輸出。VB實現的代碼如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer
Dim i As Integer, x As Integer, y As Integer
x = Val(Text1.Text)
y = Val(Text2.Text)
For i = 1 To 100
a(i) = Int(Rnd * 26+97)
List1.AddItem Str(a(i))
Next i
For i = x To y – 1
k = i
For j =j+1 To y
If a(k) > a(j) Then k = j
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If
Next i
For i = x To y
List2.AddItem Str(a(i))
Next i
End Sub
Python實現如下:
Python生成隨機數的方法:
random.random()
用於生成一個指定範圍內的隨機浮點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成隨機數
?
1 n: a <= n <= b。如果 a <b, 則 b <= n <= a。
?
1 print random.uniform(10, 20)
2 print random.uniform(20, 10)
3 #----
4 #18.7356606526
5 #12.5798298022
6 random.randint
用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,Python生成隨機數
?
1 print random.randint(12, 20) #生成的隨機數n: 12 <= n <= 20
2 print random.randint(20, 20) #結果永遠是20
3 #print random.randint(20, 10) #該語句是錯誤的。
下限必須小於上限。
random.randrange
從指定範圍內,按指定基數遞增的集合中。
隨機整數:>>> import random>>> random.randint(0,99)21
隨機選取0到100間的偶數:>>> import random>>> random.randrange(0, 101, 2)42
隨機浮點數:>>> import random>>> random.random() 0.85415370477785668>>> random.uniform(1, 10)5.4221167969800881
隨機字符:>>> import random>>> random.choice('abcdefg&#%^*f')'d'
多個字符中選取特定數量的字符:>>> import randomrandom.sample('abcdefghij',3) ['a', 'd', 'b']
多個字符中選取特定數量的字符組成新字符串:>>> import random>>> import string>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).replace(" ","")'fih'
隨機選取字符串:>>> import random>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )'lemon'
洗牌:>>> import random>>> items = [1, 2, 3, 4, 5, 6]>>> random.shuffle(items)>>> items[3, 2, 5, 6, 4, 1]