velamentum/source/iOS/werkzeuge/Zufallsgenerator.py

87 lines
2.4 KiB
Python
Raw Permalink Normal View History

# -*- coding: utf-8 -*-
import random
import os
class Zufallsgenerator(object):
"""Die Klasse Zufallsgenerator bietet die Möglichkeit einfach Zuffallszahlen
zu generieren.
Attribute:
min (Zahl): Untere Grenze für die generierten Zufallszahlen.
max (Zahl): Obere Grenze für die generierten Zufallszahlen.
ergebnis (Zahl): Die zuletzt generierte Zufallszahl.
"""
def __init__(self, pMin=1, pMax=6):
"""Konstruktor. Initialisiert den Zufallsgenerator, generiert eine erste
Zufallszahl und speichert sie im Attribut ergebnis.
Parameter:
[optional] min (Zahl): Kleinste mögliche Zufallszahl.
[optional] max (Zahl): Größte mögliche Zufallszahl.
"""
random.seed(os.urandom(8));
self.min = pMin
self.max = pMax
self.ergebnis = random.randrange(self.min, self.max+1)
def setzeMinimum(self, pMin):
"""Auftrag. Ändert das Minimum (kleinste mögliche Zufallszahl).
Parameter:
pMin (Zahl): Kleinste mögliche Zufallszahl.
"""
self.min = pMin
def setzeMaximum(self, pMax):
"""Auftrag. Ändert das Maximum (größte mögliche Zufallszahl).
Parameter:
pMax (Zahl): Größte mögliche Zufallszahl.
"""
self.max = pMax
def nenneErgebnis(self):
"""Anfrage. Gibt die zuletzt generierte Zufallszahl zurück.
Parameter:
--- keine ---
Rückgabe (Zahl): Die zuletzt generierte Zufallszahl.
"""
return self.ergebnis
def nenneMinimum(self):
"""Anfrage. Gibt das eingestellte Minimum (kleinste mögliche
Zufallszahl) zurück.
Parameter:
--- keine ---
Rückgabe (Zahl): Kleinste mögliche Zufallszahl.
"""
return self.min
def nenneMaximum(self):
"""Anfrage. Gibt das eingestellte Maximum (größte mögliche Zufallszahl)
zurück.
Parameter:
--- keine ---
Rückgabe (Zahl): Größte mögliche Zufallszahl.
"""
return self.max
def generiere(self):
"""Auftrag. Generiert eine neue Zufallszahl und speichert sie im
Attribut 'ergebnis'.
Parameter:
--- keine ---
"""
self.ergebnis = random.randrange(self.min, self.max+1)