Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2016 13:13:28

Niccolum
Зарегистрирован: 2016-04-26
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Добрый день. Начинающий питонист, не могу разобраться какое необходимо условие, чтобы при выполнении скрипта он обходил комментарии. Питон 3

def count(name):
	file = open(name)
	[print(index, '=>' ,len(line), '::', line) for index, line in enumerate(file.readlines())]

Отредактировано FishHook (Апрель 26, 2016 13:19:52)

Офлайн

#2 Апрель 26, 2016 13:20:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

нифига не понятно



Офлайн

#3 Апрель 26, 2016 13:50:06

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Наверное нужно это

def count(name):
	file = open(name)
	[print(index, '=>' ,len(line), '::', line) for index, line in enumerate(file.readlines()) if not iscomment(line)]

Офлайн

#4 Апрель 26, 2016 13:51:28

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Хотя, “обходил” тоже двусмысленно.

Офлайн

#5 Май 4, 2016 13:25:49

Niccolum
Зарегистрирован: 2016-04-26
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Shaman
Наверное нужно это
нет, пишет что имя iscomment не задано.
Функция проверяет порядковый номер, кол-во символов в строке, далее читает саму строку.
Однако, если он читает комментарии, то выводится левые символы (видимо другая кодировка) Соответственно можно как сделать так, чтобы комментарии открывало в читабельной (вроде ASHII) кодировке или не открывало вообще?

Отредактировано Niccolum (Май 4, 2016 14:00:24)

Офлайн

#6 Май 4, 2016 15:09:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Niccolum
что такое комментарий в вашей интерпретации?



Офлайн

#7 Май 4, 2016 15:12:41

Niccolum
Зарегистрирован: 2016-04-26
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

например

"""
Комментарий
"""
Class brainfuck
....

Офлайн

#8 Май 4, 2016 15:33:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

Вы открыли файл и читаете его, это просто байты, там нет никаких комментариев, одни байты от других ничем не отличаются. Вы пишете какую-то дичь.



Офлайн

#9 Май 4, 2016 15:37:18

Niccolum
Зарегистрирован: 2016-04-26
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

FishHook
Вы открыли файл и читаете его, это просто байты, там нет никаких комментариев, одни байты от других ничем не отличаются. Вы пишете какую-то дичь.
Я правильно понимаю, что нет никакого условия, чтобы после трёх двойных или одинарных кавычек и до других таких же эти строки не читались? Я не могу придумать именно условие.

Офлайн

#10 Май 5, 2016 08:16:14

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Исключение if для комментария '''комментарий'''

В питоне тройные кавычки это не комментарций а многострочный строковый литерал, посему его тоже надо нумеровать. Комментарии начинаются с # и их тоже обычно надо нумеровать. Можно на русском языке озвучить постановку задачи, которую вы решаете приведенным кодом?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version