Seite 1 von 1
Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 21:42
von Susann.M.23
Ich möchte unter Python3, welches unter Linux Debian läuft Zufallszahlen in Normalverteilung aus geben.
Zum Test gebe ich im Terminal folgendes ein::
Darauf hin läuft im Terminal Python3
Nun kann ich mir auf folgende Weise eine normalverteilte Zufallszahl auf folgende Weise ausgeben:
Code: Alles auswählen
# import the random module
import random
print(random.normalvariate(5, 0.1))
Als Ausgabe erhalte ich eine Zufallszahl, wie z.B. folgende:
Wenn ich folgendes probiere, bekomme ich auch eine gewünschte Ausgabe einer normalverteilten Zufallszahl:
Code: Alles auswählen
# import the random module
import random
# determining the values of the parameters
mu = 100
sigma = 50
# using the normalvariate() method
print(random.normalvariate(mu, sigma))
Beispiel für erfolgreiche Ausgabe:
Soweit wunderbar. Bei der folgenden Ausgabe bekomme ich allerdings eine Fehlermeldung:
Code: Alles auswählen
# import the required libraries
import- random
import matplotlib.pyplot as plt
# store the random numbers in a
# list
nums = []
mu = 100
sigma = 50
for i in range(100):
temp = random.normalvariate(mu, sigma)
nums.append(temp)
# plotting a graph
plt.plot(nums)
plt.show()
Fehlermeldung:
Code: Alles auswählen
>>> # import the required libraries
... import- random
File "<stdin>", line 2
import- random
^
SyntaxError: invalid syntax
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'matplotlib'
>>>
... # store the random numbers in a
... # list
... nums = []
>>> mu = 100
>>> sigma = 50
>>>
... for i in range(100):
... temp = random.normalvariate(mu, sigma)
... nums.append(temp)
...
... # plotting a graph
... plt.plot(nums)
File "<stdin>", line 7
plt.plot(nums)
^
SyntaxError: invalid syntax
>>> plt.show()
Muss ich da noch irgend etwas installieren ?
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:08
von nezzcarth
Nein, du musst nur den Tippfehler (das - hinter import) beheben.
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:09
von Dennis89
Hallo,
der '-' gehört beim Importieren da nicht hin:
Falls dir 'matplotlib' als Modul fehlt:
https://matplotlib.org/users/installing.html
Grüße
Dennis
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:24
von Susann.M.23
Dennis89 hat geschrieben: Dienstag 12. Januar 2021, 22:09
der '-' gehört beim Importieren da nicht hin:
Ahh. Wunderbar. Das "-" habe ich jetzt entfernt.
Die "Python-Matplotlib" die noch gefehlt hatte, habe ich jetzt über die Linux Anwendungsverwaltung installiert.
Jetzt bekomme ich schon mal im Terminal folgendes:
Code: Alles auswählen
>>> # import the required libraries
... import random
>>> import matplotlib.pyplot as plt
>>>
... # store the random numbers in a
... # list
... nums = []
>>> mu = 100
>>> sigma = 50
>>>
... for i in range(100):
... temp = random.normalvariate(mu, sigma)
... nums.append(temp)
...
... # plotting a graph
... plt.plot(nums)
File "<stdin>", line 7
plt.plot(nums)
^
SyntaxError: invalid syntax
>>> plt.show()
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:37
von sparrow
Für mich sieht das nach einem Copy&Paste-Problem in der interaktiven Session aus. Dass du da mehr als eine Zeile auf einmal einfügst.
Schreib deinen Code in eine Datei, führe die mit Python aus.
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:40
von Dennis89
Hallo,
ich habe deinen Code bei mir in "Thonny" kopiert und er funktioniert. Eventuell passiert dir ein Fehler bei der Terminaleingabe.
Hast du keinen Code-Editor? "Thonny" oder "PyCharm" zum Beispiel.
So habe ich den Code eingefügt:
Code: Alles auswählen
import random
import matplotlib.pyplot as plt
# store the random numbers in a
# list
nums = []
mu = 100
sigma = 50
for i in range(100):
temp = random.normalvariate(mu, sigma)
nums.append(temp)
plt.plot(nums)
plt.show()
Grüße
Dennis
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:43
von Susann.M.23
sparrow hat geschrieben: Dienstag 12. Januar 2021, 22:37
Für mich sieht das nach einem Copy&Paste-Problem in der interaktiven Session aus.
Schreib deinen Code in eine Datei, führe die mit Python aus.
Das werde ich gleich probieren.
Wenn ich in der Konsole einfach nur "random" eingebe, sagt er das er das nicht kennt. Ist das ein Modul was man einzeln installieren muß ?
Ein Modul mit genau der Bezeichnung "Python3-random" habe ich in der Anwendungsverwaltung nicht gefunden. Allerdings eines was sich ähnlich nennt und irgend was mit "Backport aus Python 2 oder ähnlich mit in der Bezeichnung hat. Wenn ich da eines mit einer abweichenden Bezeichnung nachinstallieren würde, würde sich das "random" dann im Script auch abweichend nennen ?
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 22:49
von sparrow
Aus der Beschreibung wird man nicht schlau. Welche Konsole meinst du? Die Linux-Konsole? Warum sollte die eingabe von "random" in der Linux-Konsole etwas finden? Es sei denn, es gibt ein Programm namens "random" im Suchpfad?
"random" ist ein Modul aus der Standardbibliothek.
Das
offizielle Tutorial bietet sich an, wenn man einen Einstig in Python sucht.
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 23:00
von Susann.M.23
sparrow hat geschrieben: Dienstag 12. Januar 2021, 22:49
Aus der Beschreibung wird man nicht schlau. Welche Konsole meinst du? Die Linux-Konsole? Warum sollte die eingabe von "random" in der Linux-Konsole etwas finden? Es sei denn, es gibt ein Programm namens "random" im Suchpfad?
"random" ist ein Modul aus der Standardbibliothek.
Das
offizielle Tutorial bietet sich an, wenn man einen Einstig in Python sucht.
Ja ich meine die Linux Konsole. Wenn es noch andere Konsolen geben sollte, dann nenne ich das jetzt mal Terminal.
Da die folgende Ausgabe bei mir im Terminal funktioniert, scheint "random" bereits in meinem System unter Python3 Verfügbar zu sein:
Code: Alles auswählen
# import the random module
import random
print(random.normalvariate(5, 0.1))
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 23:07
von sparrow
Nein, im Terminal oder der Konsole funktioniert das sicher nicht. Da sollte die Ausgabe so aussehen:
Deshalb fragte ich, was du meinst.
Wie ich schon schrieb: Das Modul
random kommt mit Python. Da muss man nichts extra installieren.
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 23:09
von Susann.M.23
sparrow hat geschrieben: Dienstag 12. Januar 2021, 23:07
Nein, im Terminal oder der Konsole funktioniert das sicher nicht. Da sollte die Ausgabe so aussehen:
Deshalb fragte ich, was du meinst.
Wie ich schon schrieb: Das Modul
random kommt mit Python. Da muss man nichts extra installieren.
Das war ein guter Tip. Wenn ich das wie folgt als .py Datei aufrufe, geht das wunderbar:
Code: Alles auswählen
#!/usr/bin/env python3
# Schebeng
# import the required libraries
import random
import matplotlib.pyplot as plt
# store the random numbers in a
# list
nums = []
mu = 100
sigma = 50
for i in range(100):
temp = random.normalvariate(mu, sigma)
nums.append(temp)
# plotting a graph
plt.plot(nums)
plt.show()
varialble = input ("Zum Beenden Enter drücken oder Ctl + C")
Re: Ausgabe von Zufallszahl
Verfasst: Dienstag 12. Januar 2021, 23:18
von Susann.M.23
Beitrag von Nutzer gelöscht