@python_beginnersЭта группа больше не существует

Страница 1168 из 1885
Doomsday
19.01.2017
16:40:01
Вопрос: ЧЯДНТ и как мне получить TypeError. Спасибо.

Johnnie
19.01.2017
16:41:03
Pavel
19.01.2017
16:42:42
\bчлен\b

Johnnie
19.01.2017
16:43:03
\bчлен\b
я тоже про это нагуглил, но оно тоже не работает. флаги нужны особые?

Google
rfg
19.01.2017
16:43:19
как получить ключ json?

Ilya
19.01.2017
16:43:54
Вопрос: ЧЯДНТ и как мне получить TypeError. Спасибо.
Сам вызови. if not(type(sum_a) is int and type(sum_b) is int): raise

Doomsday
19.01.2017
16:46:30
except ValueError: raise TypeError :D
не, так не канает

Pavel
19.01.2017
16:46:35
>>> def is_dick(s): ... return bool(re.match(r'.*\bчлен\b.*', s)) ... >>> is_dick('член') True >>> is_dick('ты член') True >>> is_dick('ты членистоногое') False >>> is_dick('многочлен') False >>>

Timofey
19.01.2017
16:47:40
Опишите сначала все тест кейсы регэксп сам и напишется:)
"Член" "член" "ты член" "члеН Ноет" "!член?": true "членодевка" "многочлен не имеет корней": false

Johnnie
19.01.2017
16:48:12
> члеН Ноет :(

Ilya
19.01.2017
16:50:23
Google
Pavel
19.01.2017
16:52:01
"Член" "член" "ты член" "члеН Ноет" "!член?": true "членодевка" "многочлен не имеет корней": false
>>> def is_dick(s): ... return bool(re.match(r'.*\bчлен\b.*', s, re.I)) ... >>> [is_dick(s) for s in ("Член","член","ты член","члеН Ноет","!член?")] [True, True, True, True, True] >>> [is_dick(s) for s in ("членодевка","многочлен не имеет корней")] [False, False]

Скрудж
19.01.2017
16:53:14
is_dick LOL

Pavel
19.01.2017
16:54:06
я долго выбирал между is_dick и is_member.

Alex
19.01.2017
16:54:43
is_richard

Johnnie
19.01.2017
16:54:55
is_retard

Johnnie
19.01.2017
16:57:04
r'regexp'

Pavel
19.01.2017
16:57:29
угу. >>> print(re.search(r"\bчлен\b", "ты член", re.I)) <_sre.SRE_Match object; span=(3, 7), match='член'>

Timofey
19.01.2017
16:58:22
А, май фоулт, я r перед строкой, в которой искать, ставил

Спасибо!

Pavel
19.01.2017
17:00:00
is_richard
интересно, англоязычных тоже забавляет, что dick is short for richard?

I
19.01.2017
17:04:56
я многим бесплатно помогаю

Pavel
19.01.2017
17:04:59
Тоже во во, Игорю ныл по этому поводу буквально вчера
меня не сильно парит помогать, но элементарного "спасибо, очень помог" как бы не хватает в конце диалога. Неблагодарные говнюки.

I
19.01.2017
17:05:00
новичкам

если это не для работы

если по работе уже серьезно - то по ставке моей

Google
53r63rn4r
19.01.2017
17:05:59
Я вот всегда говорю, когда вы мне помогаете, также, Паш? Я тебе хоть раз забывал сказать спасибо?

Вроде нет

Leather
19.01.2017
17:06:15
кто програмист

есть инструкция к скрипту и сам скрипт, не понимаю как запустить его

Johnnie
19.01.2017
17:06:41
замечание от чувака на devman'e: worksheet.append(list(course.values())) этот код работает не так как ты думаешь. Проверь результируйщий xlsx файл. В словаре ключи и их значения хранятся в произвольном порядке и он не совпадает с порядком при записи в словарь. Я бы посоветовал использовать OrderedDict, но в таком случае результат работы get_workbook будет зависеть от порядка записи внутри функции get_course_info. Что, мягко говоря, не очевидно. Лучше так не делать.

ты делаешь так, но это неправильно. можно сделать вот так, но лучше не надо.

как надо-то блять? ?

Leather
19.01.2017
17:07:24
https://www.reddit.com/r/ClickerHeroesBot/comments/5lckfs/fish_clicker_script/

я создал файл, вставил тот текст и поменял разрешение на ahk

а как запускать

Johnnie
19.01.2017
17:08:38
как вы пишете красиво заголовки и инфу в .csv? какими структурами пользуетесь?

я понял о чем он. я тестил на 3.6 и тут все збс. у него походу 3.5 и вывод кривой получается

Pavel
19.01.2017
17:09:21
а как запускать
тебе нужен софт Auto Hot key

как вы пишете красиво заголовки и инфу в .csv? какими структурами пользуетесь?
в csv.DictWriter.write_header можно явно перечислить порядок колонок

или в конструкторе DictWriter его можно показать? не помню точно, но где-то нужно там список колонок показывать

Johnnie
19.01.2017
17:14:07
тьфу, я попутал

тут не csv, а openpyxl. запутался уже

def get_workbook(courses_info_list): workbook = Workbook() worksheet = workbook.active worksheet.append(get_workbook_headers()) for course in courses_info_list: worksheet.append(list(course.values())) return workbook def get_workbook_headers(): return ['Title', 'Language', 'Nearest start date', 'Duration, weeks', 'Average rating', 'URL']

вот так ща

def get_course_info(course_url): content = requests.get(course_url).content parsed_course_page = get_parsed_course_page(content) return {'title': get_course_title(parsed_course_page), 'language': get_course_language(parsed_course_page), 'nearest_start_date': get_nearest_start_date(parsed_course_page), 'duration_in_weeks': get_course_duration(parsed_course_page), 'avg_rating': get_average_rating(parsed_course_page), 'url': course_url }

Google
Johnnie
19.01.2017
17:17:16
вот так возврат инфы по курсу

я сначала в get_course_info делал сразу заголовки

мне сделали атата

не мэппинг же делать, ну. типа 'avg_rating' - 'Average rating'

а как иначе пока не соображу

Leather
19.01.2017
17:24:44
Maxim
19.01.2017
17:26:14
я так делал `for course in all_courses_info: wsheet.append(course)`

Johnnie
19.01.2017
17:26:19
def get_workbook(courses_info_list): workbook = Workbook() worksheet = workbook.active headers = ['Title', 'Language', 'Nearest start date', 'Duration, weeks', 'Average rating', 'URL'] worksheet.append(headers) for course in courses_info_list: worksheet.append([course['title'], course['language'], course['nearest_start_date'], course['duration_in_weeks'], course['avg_rating'], course['url'] ]) return workbook

Admin
ERROR: S client not available

Maxim
19.01.2017
17:26:31
у меня лист листов

а если ты делаешь лист из значений словаря, он у тебя каждый раз в разном порядке

Johnnie
19.01.2017
17:27:20
если не 3.6, то да

Maxim
19.01.2017
17:27:55
ну у них же написано, что используемая версия питона 3.5

Doomsday
19.01.2017
17:33:27
На первый вопрос мне не ответили, ну да хер с ним, походу там в условии задачи ошибка. Еще вопрос. Вот что есть:

`print("Easy addition. Enter summands or enter 'q' for exit.") while True: sum_a = input("First summand: ") if sum_a == 'q': break try: sum_a = int(sum_a) except ValueError: print("\nSummand can be only number.\n") else: sum_b = input("Second summand: ") if sum_b == 'q': break try: sum_b = int(sum_b) except ValueError: print("\nSummand can be only number.\n") else: summ = sum_a + sum_b print("Sum: " + str(summ))`

Maxim
19.01.2017
17:34:23
в три обратные кавычки оборачивай, а не в одну)

Johnnie
19.01.2017
17:35:29
почему sum_a, если это просто a?

Doomsday
19.01.2017
17:36:43
почему, если во второе слагаемое вводится символ, при обрабоке исключения возвращает к первому input а не ко второму? то-есть цикл стартует заново, хотя, как я понимаю, должен возвращатся к точке sum_b = input("Second summand: ")

Google
Johnnie
19.01.2017
17:37:34
желательно

Maxim
19.01.2017
17:37:55
ну вводишь в заблуждение того, кто смотрит на код)

Doomsday
19.01.2017
17:38:48
Maxim
19.01.2017
17:39:32
лучше бы прост а написал))

Doomsday
19.01.2017
17:40:49
лучше бы прост а написал))
В книжке, по которой я ботаю через абзац талдычат, что имена должны быть содержательными. Я сходил на компромисс с ленью?

Johnnie
19.01.2017
17:41:26
тогда уж first_summand & second_demand

Maxim
19.01.2017
17:41:28
а не ко второму? то-есть цикл стартует заново, хотя, как я понимаю, должен возвращатся к точке

потому что у тебя один проход цикла штатно завершается

и он начинается снова

Maxim
19.01.2017
17:42:28
а я что написал)

Doomsday
19.01.2017
17:42:47
Johnnie
19.01.2017
17:43:02
а я что написал)
чукча не читатель

Maxim
19.01.2017
17:43:11
:D

Johnnie
19.01.2017
17:44:28
Структура кода стала лучше в плане удобства тестирования и повторного использования. Если уменьшишь количество функции - будет совсем здорово

у меня иногда горит от их комментов

сначала "одна функция должна делать что-то одно", потом "что-то их много тут"

Страница 1168 из 1885

Эта группа больше не существует Эта группа больше не существует