Прикреплённый файл «kufas-6.13.21.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Дан файл Bibl, содержащий сведения о книгах. Сведения о каждой из книг — это фамилия автора, название и год издания. Найти названия книг данного автора, изданных начиная с 1960 г. Имеется в виду — ввести фамилию автора, вывести названия книг.
5
6 Написать генератор входных данных
7 '''
8
9 import random
10
11 def GenBibl(N=10,Books=100,Year=(1900,2000)):
12 Anna=[w for w in file("anna.txt").read().decode("utf8").split() if w[0].isalpha()]
13 Names=set((Anna[i] for i in xrange(1,len(Anna)) if Anna[i][0].isupper() and Anna[i][-1].isalpha() and Anna[i-1][-1].isalpha()))
14 Authors=[" ".join(random.sample(Names,2)) for i in xrange(N)]
15 f=file("Bibl","w")
16 for b in xrange(Books):
17 Title=" ".join(random.sample(Anna,random.randint(1,5))).capitalize()
18 while len(Title)>1 and not Title[-1].isalpha():
19 Title=Title[:-1]
20 Title+=random.choice("...!??")
21 print >> f, u'{0} «{1}» {2}'.format(random.choice(Authors),Title,random.randint(*Year)).encode("utf8")
22 f.close()
23
24 import sys
25 if len(sys.argv)>1: # если есть какой-то параметр, вызвать генератор
26 GenBibl()
27 else:
28 Author=raw_input("Введите автора: ")
29 for rec in file("Bibl").readlines():
30 A,T=rec.split('«')
31 N,Y=T.split('»')
32 if Author==A.strip() and int(Y)>=1960:
33 print N
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-02-01 15:00:45, 1.4 KB) [[attachment:SinRand.py]]
- [получить | показать] (2012-02-01 15:01:38, 1.6 KB) [[attachment:kufas-6.13.21.py]]
- [получить | показать] (2012-01-31 19:56:28, 0.2 KB) [[attachment:ray_bibl.py]]
- [получить | показать] (2012-01-31 19:56:35, 0.8 KB) [[attachment:ray_random.py]]
- [получить | показать] (2012-02-01 15:00:22, 2.4 KB) [[attachment:sort_file.py]]
Вам нельзя прикреплять файлы к этой странице.