Überblick
Diese Herausforderung wurde von diesem StackOverflow-Metapost inspiriert . Darin sagt @hakre:
Ich habe ein Projekt gesehen, das wirklich von Stackoverflow geschrieben wurde (ein Noob kopiert hier und da von SO zusammen). Die Zuweisung wird normalerweise nie durchgeführt, was zu einer Kündigung der Rechte unter CC führt. (sic)
Ihre Mission ist es, das interessanteste Programm zu erstellen, das Sie können - ohne jemals eine einzige Codezeile zu schreiben. Sie können nur Code verwenden, der bereits für Sie geschrieben wurde, sowohl in Fragen als auch in Antworten von StackOverflow. Alles, was Sie tun können, ist Klebeband alles zusammen, so gut Sie können. Und natürlich ist es sehr wichtig, dass wir eine angemessene Namensnennung vornehmen, damit unsere Rechte nicht gekündigt werden.
Regeln
- Sie müssen Links zu den Fragen / Antworten einfügen, die Sie in Ihrer Antwort verwendet haben.
Sie können den gefundenen Code mit den folgenden Ausnahmen nicht ändern:
ein. Sie können Variablen, Funktionen und Methoden umbenennen. (Das bedeutet nicht , eine Methode ändern Aufruf , durch Änderung, sagen
scanner.nextInt()
zuscanner.nextLine()
und behauptet , dass Sie einen Methodennamen sind zu ändern. Die Änderung der Definition oder Verweis auf die gleiche Person sein muss.)b. Sie können den Einzug entsprechend anpassen.
c. Sie können davon ausgehen, dass die richtigen Module geladen sind, damit die Codeausschnitte funktionieren. (z. B.
import
Anweisungen für Java und Python,using
Anweisungen für C # und C ++ sowie deren Entsprechungen in allen Sprachen) Wenn das Code-Snippet dasimport
s für Sie enthält, können Sie sie an den oberen Rand des Codes verschieben.d. Wenn die Sprache erfordert, dass sich der Code in einem auszuführenden Methodentext befindet (z. B.
public static void main(String[] args)
für Java,static int Main(string[] args)
für C # usw.), können Sie den Code in die entsprechende Methode einschließen. Der Inhalt dieser Hauptmethode muss jedoch unverändert bleiben.Sie müssen eine explizite Liste aller durchgeführten Umbenennungen von Variablen / Methoden / Funktionen / Klassen angeben.
- Sie können keine Snippets von Snippets nehmen (dh wenn Sie einen Codeblock von einem Beitrag nehmen, nehmen Sie die ganze Sache)
- Geben Sie eine kurze Beschreibung der Funktionsweise des Codes für Personen an, die mit der von Ihnen verwendeten Sprache nicht vertraut sind.
- Beliebtheitswettbewerb, damit die meisten Upvotes gewinnen!
Langweiliges Fünf-Minuten-Beispiel (Python 3)
Beschreibung : Liest eine Reihe von Protokolldateien aus dem aktuellen Verzeichnis und ordnet die darin enthaltenen Zeilen nach dem Zufallsprinzip an (aufregend, oder? Dies würde einen Beliebtheitswettbewerb total gewinnen).
Quelle
import glob
import random
for file in glob.glob('log-*-*.txt'):
# Etc.
with open(file) as f:
content = f.readlines()
# shuffle the list in place
random.shuffle(content)
# print it
print(content)
Rechtliche Änderungen
- Umbenannt
fname
infile
von Link 1 - Umbenannt
b
incontent
von Link 2
Zuschreibungen
Antworten:
C - ein Betriebsrechner
Lassen Sie uns dies für einen Anfang haben.
Es ist tatsächlich ziemlich schwierig, Teile von C-Programmen zu finden, die keine vollständigen Programme sind. Ich hatte größte Probleme mit Erklärungen.
Führt eine einfache Integraloperation wie
3+151
oder41/2
auf stdin durch und gibt das Ergebnis auf stdout aus.quelle