Прикреплённый файл «shufflemeter.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 1. Измеритель скорости. С помощью `time.time()` замерить, сколько операций `random.shuffle()` выполняет компьютер за 5 секунд
5 * Написать собственную процедуру `shuffle()`. Насколько она медленнее?
6 '''
7
8 import random, time
9
10 def shuffle1(S):
11 return [random.choice(S) for i in xrange(len(S))]
12
13 def shuffle2(S):
14 return [S.pop(random.randrange(len(S))) for i in xrange(len(S))]
15
16 def test(S,F,T):
17 t, n = time.time()+T, 0
18 while time.time()<t:
19 F(S[:])
20 n+=1
21 return n
22
23 T=5
24
25 for i in xrange(2):
26 L=random.sample(xrange(1000),1000)
27 for f in random.shuffle, shuffle1, shuffle2:
28 print f, test(L,f,T)
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-02-08 12:41:50, 1.8 KB) [[attachment:notepickle.py]]
- [получить | показать] (2012-02-08 12:24:49, 0.8 KB) [[attachment:shufflemeter.py]]
- [получить | показать] (2012-02-08 12:24:30, 4.0 KB) [[attachment:sort_tape.py]]
Вам нельзя прикреплять файлы к этой странице.