Уведомления

Группа в Telegram: @pythonsu

#1 Май 11, 2012 10:27:00

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

s0rg
in вполне достаточен по условию и скорости выполнения
Не достаточен. По условию проверяется вхождение слова, а не последовательности cимволов. В твоем варианте решения строка “littlebeetle” пройдет проверку по слову “beetle”, а не должна



Отредактировано regall (Май 11, 2012 10:27:20)

Офлайн

#2 Май 11, 2012 10:49:01

dehun
От: Ukraine::Kiev
Зарегистрирован: 2012-04-25
Сообщения: 26
Репутация: +  3  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

import re
names = {}
f = open('simple.txt')
for miss in re.findall('[M|m]iss [a-zA-Z0-9\-]+', ''.join(f.readlines())):
name = miss.split(' ')[1]
if name not in names:
names[name] = 0
names[name] += 1

for key, val in names.iteritems():
print key + " : " + "*" * val
для второй задачи

Отредактировано dehun (Май 11, 2012 10:49:22)

Офлайн

#3 Май 11, 2012 10:51:01

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

def seach_haystack(haystack, needle):
return ['{}: {}'.format(a, b) for a, b in enumerate(haystack) if needle in b.split()]
И в чем недостаточность?

Отредактировано s0rg (Май 11, 2012 10:51:11)

Офлайн

#4 Май 11, 2012 11:08:27

Chern
От: Киев
Зарегистрирован: 2010-09-15
Сообщения: 71
Репутация: +  3  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

s0rg
def seach_haystack(haystack, needle):
return ['{}: {}'.format(a, b) for a, b in enumerate(haystack) if needle in b.split()]
И в чем недостаточность?

После split Вы потеряли преимущество в скорости и тем не менее оно не определит строку с содержимым (beetle), “beetle” etc



Офлайн

#5 Май 11, 2012 11:25:46

dehun
От: Ukraine::Kiev
Зарегистрирован: 2012-04-25
Сообщения: 26
Репутация: +  3  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

решение к третей задаче

import os
import re

files = [] # contains (filename, title)

#search all the titles
for filename in os.listdir('.'):
if re.search('.+\.html?', filename):
with open(filename) as f:
match = re.search('<title>(.+)</title>', ''.join(f.readlines()))
if match:
files.append((filename, match.group(0)))

#create and form index file
with open('index.html', 'w') as indexfile:
indexfile.write("<html><head></head><body>")
for filename, title in files:
print indexfile.write("""<a href="%s">%s</a>""" % (filename, title))
indexfile.write("</body></html>")
написано всё быстро. возможны мелкие ошибки. я пару раз прогнал на простом тестике - вродебы работает.

Офлайн

#6 Май 11, 2012 11:31:55

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

У меня всего 7 часов. Помогите, в долгу не останусь...

s0rg
def seach_haystack(haystack, needle):
return
И в чем недостаточность?

>>> def f(haystack, needle):
...     return ['{}: {}'.format(a, b) for a, b in enumerate(haystack) if needle in b.split()]
... 
>>> f(['I have a beetle.'], 'beetle')
[]
>>> 



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version