I. Без комментариев

Мы надеемся, вы пишите комментарии к своему коду. Если так, то интерпретатор удаляет их перед тем, как выполнить код. Напишите программу, которая выполняет данную функцию за интерпретатор.

Формат ввода

Вводятся строки программы.
Признаком остановки является пустая строка.

Формат вывода:

Каждую строку нужно очистить от комментариев.
А если комментарий — вся строка, то выводить её не надо.

Пример

Ввод

# Моя первая супер-пупер программа
print("What is your name?") #  Как тебя зовут?
name = input() #  Сохраняем имя
print(f"Hello, {name}!") #  Здороваемся# Конец моей супер-пупер программы

Вывод

print("What is your name?")
name = input()
print(f"Hello, {name}!")

Ввод

# Мой первый цикл
for i in range(10): # Считаем до 10
    print(i) # выводим число

Вывод

for i in range(10):
    print(i)

Решение

В целом, простая задача. Перебираем строки, ищем знак комментария #. Если нашли в первой позиции, то строку пропускаем, если нашли в любой другой – обрезаем до знака # и выводим. Если не нашли, тоже выводим.

Второй вариант чистит код от комментариев более аккуратно, но для прохождения тестов, достаточно первого.

Посмотреть код

Решение

Python
# простой код

while string := input():
    if not (pos := string.find('#')) + 1:
        print(string)
    elif string[:pos]:
        print(string[:pos])

Решение

Python
# более корректный код. 
# обрезаются пустые символы в конце строки.
# если в строке кроме комментария ничего не было, а комментарий начинался не с первого символа, то строка все равно игнорируется.

while string := input():
    if not (pos := string.find('#')) + 1:
        print(string)
    elif string[:pos].strip():
        print(string[:pos].rstrip())
Подписаться
Уведомить о
guest
4 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии