Anwendung herunterladen
Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.
Ziehe mit einem lokalen gesetzten Zufallsgenerator eine Reservoir-Stichprobe von höchstens 32 Elementen aus einem endlichen Strom von höchstens 1000 Elementen. Wiederhole den Startwert für die Reproduzierbarkeit und lehne zu kurze Ströme ab, ohne Eingabelisten zu ändern.
Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.
Wählen Sie einen kompatiblen Endpunkt. Verfügbare Werkzeuge und Antwortqualität hängen vom konfigurierten Modell und Server ab.
Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
from random import Random
def reservoir_sample(items, size, seed):
if type(size) is not int or not 0 <= size <= 32:
raise ValueError("size.range")
if type(seed) is not int or not 0 <= seed < 2**32:
raise ValueError("seed.range")
rng, sample, count = Random(seed), [], 0
for index, item in enumerate(items):
count = index + 1
if count > 1000:
raise ValueError("stream.limit")
if index < size:
sample.append(item)
elif size:
position = rng.randrange(count)
if position < size:
sample[position] = item
if size > count:
raise ValueError("stream.short")
return sampleVor dem Anwenden prüfen. Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.