Ваше завдання - написати програму (або функцію), яка буде приймати рядок як введення та додавати текст до початку кожного рядка, який відповідає таким правилам:
- Доданий текст повинен містити номер рядка. Ви можете використовувати індексацію на основі 0 або 1.
- Текст повинен бути коментарем на вашій мові. Коментар визначається як синтаксично дійсний фрагмент коду, який не вносить змін у стан програми. Видалення коментаря не повинно змінювати програму.
- Коментар може містити лише нові рядки в кінці.
- Не потрібно ставити номери рядків для рядків, що містять просто пробіли та коментарі.
Технічні умови
- Ви можете припустити, що вхід буде дійсною програмою для вашої мови.
- На чутливих до відступу мовах, таких як Python, ви можете розмістити коментар до номера рядка після всіх відступів. Ви можете вибрати вкладки або пробіли для позначення відступу, але ви повинні вказати у своїй публікації.
- Ви можете припустити, що кожне твердження в коді займе максимум 1 рядок; тобто немає рядкових рядків або продовження зворотної косої риси
Випробування
Пітон:
#0
a = int(input())
#1
while a:
#2
print(a)
C: (Чесно кажучи, я здивований цій компіляції)
/*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*/}
Це код-гольф , тому найкоротша відповідь (у байтах) виграє.
AssertionError
якщо слід стека не міститиме фразу foo.py
, яка, як очікується, походить від імені файлу, але також може з'являтися як коментар до рядка в контексті.