Ihre Aufgabe ist es, ein Programm (oder eine Funktion) zu schreiben, das eine Zeichenfolge als Eingabe verwendet und Text an den Anfang jeder Zeile anfügt, die die folgenden Regeln erfüllt:
- Der angehängte Text muss die Zeilennummer enthalten. Sie können eine 0- oder 1-basierte Indizierung verwenden.
- Der Text muss ein Kommentar in Ihrer Sprache sein. Ein Kommentar ist als syntaktisch gültiger Code definiert, der den Programmstatus nicht ändert. Durch das Entfernen des Kommentars sollte das Programm nicht geändert werden.
- Der Kommentar darf nur am Ende Zeilenumbrüche enthalten.
- Sie müssen keine Zeilennummern für Zeilen eingeben, die nur Leerzeichen und Kommentare enthalten.
Spezifikationen
- Sie können davon ausgehen, dass die Eingabe ein gültiges Programm in Ihrer Sprache ist.
- In einrückungssensitiven Sprachen wie Python können Sie den Zeilennummernkommentar nach allen Einrückungen einfügen. Sie können entweder Tabulatoren oder Leerzeichen als Einrückungszeichen auswählen, dies müssen Sie jedoch in Ihrem Beitrag angeben.
- Sie können davon ausgehen, dass jede Anweisung im Code höchstens die gesamte Zeile einnimmt. dh keine mehrzeiligen Strings oder Backslash-Fortsetzungen.
Testfälle
Python:
#0
a = int(input())
#1
while a:
#2
print(a)
C: (Ehrlich gesagt, ich bin überrascht, dass dies kompiliert)
/*0 */#include <stdio.h>
/*1 */int main()
/*2 */{
/*3 */ char c;
/*4 */ c = getchar();
/*5 */ do
/*6 */ {
/*7 */ putchar(c);
/*8 */ }
/*9 */ while (c);
/*10*/}
Das ist Code-Golf , also gewinnt die kürzeste Antwort (in Bytes).
AssertionError
auslösen , es sei denn, der Stack-Trace enthielt die Phrase foo.py
, von der erwartet wurde, dass sie aus einem Dateinamen stammt, sie könnte aber auch als Zeilenkommentar im Kontext erscheinen.