Упростите код программы
можно ли как-то сделать код короче? чтобы он был записан в минимально возможное кол-во строк?
n = int(input())
mark = False
slash = False
char = 0
result = []
for i in range(n):
string = input()
while string[char] == " ":
result.append(" ")
char += 1
for i2 in range(char, len(string)):
if not slash:
if string[i2] == "'":
result.append(string[i2])
mark = not mark
elif string[i2] == "\\":
result.append(string[i2])
slash = True
elif string[i2] == "#":
if mark:
result.append(string[i2])
else:
break
elif string[i2] == " ":
if mark:
result.append(string[i2])
else:
if i2 + 1 != len(string):
if string[i2 + 1] == " ":
result.append("")
else:
result.append(string[i2])
else:
result.append(string[i2])
else:
slash = False
result.append(string[i2])
print("".join(result))
result = []
mark = False
slash = False
char = 0
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
не меняя кода (не меняя логики и т.д.) код можно свернуть вот в такой:
strings = [input() for _ in range(int(input()))]
for string in strings:
mark, slash, char, result = False, False, 0, []
while string[char] == " ":
result.append(" ")
char += 1
for i2 in range(char, len(string)):
if not slash:
mark = not mark if string[i2] == "'" else mark
slash = string[i2] == "\\" or slash
if string[i2] == "#" and not mark:
break
elif string[i2] == " " and not mark and i2 + 1 != len(string):
result.append("" if string[i2 + 1] == " " else string[i2])
continue
else:
slash = False
result.append(string[i2])
print("".join(result))
