Найти - Пользователи
Полная версия: Помогите срочно!!!
Начало » Центр помощи » Помогите срочно!!!
1
ArtemDav
Напишите программу, которая уменьшает размер программ, написанных на Питоне (без использования некоторых возможностей языка).

Программа считывает количество строк, затем — сами эти строки по очереди. Каждая строка выводится, но в изменённом виде:

если следуют несколько пробелов подряд не в начале строки, то нужно оставить только один пробел;
если встретился символ комментария #, то его и всё, что за ним, выводить не нужно;
если лишние пробелы или символ комментария встретились внутри (одинарных) кавычек, то ничего убирать или менять в них не надо;
если после кавычки встретилась ещё одна кавычка, то она закрывает первую лишь в том случае, если перед ней не стоит обратный слэш, не экранированный другим обратным слэшем (гарантируется, что за пределами кавычек и комментариев обратный слэш не встречается).
Если ввод и вывод программы осуществляется через одну и ту же консоль, ввод и вывод будет перемешан; это не помешает разделению ввода и вывода при автоматической проверке, поэтому беспокоиться об этом не нужно.

Формат ввода
На первой строке вводится количество строк в программе.
Далее — сама программа.

Формат вывода
Программа, сокращённая по описанным в условии правилам.

Пример 1
Ввод
1
print ('Привет')#поздороваемся
Вывод
print ('Привет')
Пример 2
Ввод
6
easy = 2 + 2
if easy == 4:# А вдруг нет?
print('Квадрат с обрезанными углами:')
print('/-\\')
print('|#|')
print('\\_/')
Вывод
easy = 2 + 2
if easy == 4:
print('Квадрат с обрезанными углами:')
print('/-\\')
print('|#|')
print('\\_/')
Aress
У меня хорошее настроение, так что держи код целиком
 sym = '\\'
for i in range(int(input())):
    a = input()
    p = 0
    string = ''
    flag = True
    for x in range(len(a)):
        if a[x] == ' ' and a[x + 1] == ' ':
            p += 1
        else:
            break
    for j in range(len(a)):
        if not flag:
            string += a[j]
        elif a[j] == ' ' and a[j + 1] != ' ' and flag and a[j]:
            string += a[j]
        elif flag and a[j] != ' ':
            string += a[j]
        if a[j] == "'" and flag:
            flag = False
        elif not flag and a[j] == "'" and a[j - 1] != sym[0]:
            flag = True
        elif not flag and a[j] == "'" and a[j - 1] == sym[0]:
            if a[j - 2] == sym[0]:
                flag = True
        if a[j] == '#' and flag:
            string = string[:-1]
            break
    print((' ' * p) + string)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB