English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Zufallszahlen bedeuten nicht, dass die Zahlen jedes Mal unterschiedlich sind. Zufällig bedeutet, dass etwas, das nicht auf logische Weise vorhergesagt werden kann.
Computer arbeiten mit Programmen, und Programme sind die autoritativen Befehlsfolgen. Dies bedeutet, dass es eine Art Algorithmus geben muss, um Zufallszahlen zu generieren.
Wenn ein Programm existiert, das Zufallszahlen generiert, kann es vorhergesagt werden, daher ist es keine wahre Zufallszahl.
Durch Algorithmen generierte Zufallszahlen werden als Pseudozufallszahlen bezeichnet.
Können wir echte Zufallszahlen erzeugen?
Ja. Um eine echte Zufallszahl auf unserem Computer zu generieren, müssen wir Daten von einer externen Quelle erhalten. Die externen Quellen sind in der Regel unsere Tastatureingaben, Mausbewegungen, Netzwerkdaten usw.
Wir benötigen keine echten Zufallszahlen, es sei denn, sie sind mit Sicherheit (z.B. Verschlüsselungsschlüssel) verbunden oder die Grundlage der Anwendung basiert auf Zufälligkeit (z.B. Digitales Roulette).
In diesem Tutorial verwenden wir gefälschte Zufallszahlen.
NumPy bietet das Modul random an, um Zufallszahlen zu verarbeiten. Hier wird ein Beispiel gezeigt, wie man eine Zahl zwischen 0 und 100 之间的随机整数:
>>> from numpy import random >>> x = random.randint(100) >>> print(x) 56
Die Methode rand() des Modules random gibt die Zahl zwischen 0 und 1 Zwischen 10Zwischen 0 und
>>> from numpy import random >>> x = random.rand() >>> print(x) 0.4755747164243269
在 NumPy 中,我们可以使用上例中的两种方法来创建随机数组,randint() 方法接受 size 参数,您可以在其中指定数组的形状。
以下演示生成一个 1-D 数组,其中包含 5 个从 0 到 100 之间的随机整数:
>>> from numpy import random >>> x=random.randint(100, size=(5) >>> print(x) [36 14 12 91 36]
生成有 3 行的 2-D 数组,每行包含 5 个从 0 到 100 之间的随机整数:
>>> from numpy import random >>> x = random.randint(100, size=(3, 5) >>> print(x) [[20 64 23 6 66] [74 11 21 61 70] [24 47 22 22 31]]
rand() 方法还允许您指定数组的形状。以下演示生成包含 5 个随机浮点数的 1-D 数组:
>>> from numpy import random >>> x = random.rand(5) >>> print(x) [0.63254731 0.0275278 0.83592219 0.41890601 0.84496798]
生成有 3 行的 2-D 数组,每行包含 5 个随机数:
>>> from numpy import random >>> x = random.rand(3, 5) >>> print(x) [[0.51798216 0.70541454 0.03600922 0.2279383 0.2184512 ] [0.91734846 0.07877026 0.75949221 0.7876666 0.20983625] [0.25935065 0.37637584 0.7793815 0.65035139 0.66673048]]
方法使您可以基于值数组生成随机值。 方法将数组作为参数,并随机返回其中一个值。
>>> from numpy import random >>> x = random.choice([3, 5, 7, 9]) >>> print(x) 5
choice() 方法还允许您返回一个值数组。请添加一个 size 参数以指定数组的形状。生成由数组参数(3、5、7 和 9)中的值组成的二维数组:
>>> from numpy import random >>> x = random.choice([3, 5, 7, 9], size=(3, 5) >>> print(x) [[7 9 7 5 9] [3 3 3 7 9] [7 5 9 3 7]]