Algorithmf&data structures 4 - #9
Conversation
…, в основном только наметки.
| # | ||
| import sys | ||
|
|
||
| def fact_recurs(N): |
There was a problem hiding this comment.
С всеми реализациями кода хорошо.
Единственный вопрос: Почему эта задача? В условии же написано, что надо брать задачи из домашнего задания первых трех уроков. Ужасная невнимательность.
|
|
||
| #============================================================================================================ | ||
| # вычисление 500! рекурсивной функцией | ||
| #C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4>python -m cProfile -s time task_1.py r 500 |
There was a problem hiding this comment.
А что насчёт timeit? Через консоль мы использовали как раз его, а не cProfile
There was a problem hiding this comment.
К сожалению при попытках использования timeit в консоле постоянно получал ошибку, хотя, как приведено здесь я находился непосредственно в директории, где размещен файл. Такая ошибка повторялась постоянно, поэтому пришлось воспользоваться cProfile.
C:\Users\Serg_>cd "C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4"
C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4>python -m timeit -n 40 -s "task_2" task_2
Traceback (most recent call last):
File "C:\Temp\Portable Python 3.2.5.1\App\lib\timeit.py", line 315, in main
r = t.repeat(repeat, number)
File "C:\Temp\Portable Python 3.2.5.1\App\lib\timeit.py", line 223, in repeat
t = self.timeit(number)
File "C:\Temp\Portable Python 3.2.5.1\App\lib\timeit.py", line 195, in timeit
timing = self.inner(it, self.timer)
File "", line 3, in inner
task_2
NameError: global name 'task_2' is not defined
C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4>dir
Том в устройстве C имеет метку System
Серийный номер тома: 7ACC-B759
Содержимое папки C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4
07.10.2018 19:20
.07.10.2018 19:20 ..
07.10.2018 19:23 .idea
12.09.2018 13:49 3 351 SRHw03_normal.py
07.10.2018 19:20 8 113 task_1.py
07.10.2018 18:49 3 377 task_2.py
07.10.2018 19:18 5 260 task_2b.py
07.10.2018 17:48 1 131 task_3.py
05.10.2018 12:55 764 ДЗ.txt
7 файлов 21 996 байт
3 папок 905 012 408 320 байт свободно
C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4>
| #SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \UXXXXXXXX escape | ||
| #============================================================================================================ | ||
| # | ||
| #Оценить сложность по результатам выполненых измеренрий не представляется возможным, |
| #print(primes) | ||
| primes_counter = 0 | ||
| #print([i for i in primes if i != 0]) | ||
| for i in range(len(primes)): |
There was a problem hiding this comment.
Этот блок кода стоило интегрировать в функцию.
Стал её тестировать и понял, что выдаёт не те результаты. Потом обратил внимание на костыль (назовём вещи своими именами), который всё исправляет.
| #print('{: >2d}е простое число = {: >2d}'.format(nth_prime, primes[i])) | ||
|
|
||
| #Все оценки проводились при отключенном выводе на экран!! | ||
| #C:\Users\Serg_\PycharmProjects\Algorithms&Data_Structures\Lesson_4>python -m cProfile -s time task_2.py 25 |
| # 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | ||
| # | ||
|
|
||
| # Не представляю, что можно здесь проанализирова!? Видимо слишком простая функция. Даже увеличение |
There was a problem hiding this comment.
А, вот и оно. Когда прочитаете этот комментарий, попробуйте просто для себя проанализировать другим инструментом, как я на уроке )))
| # Примечание: Результаты анализа сохранить в виде комментариев в файле с кодом. | ||
| # Данный файл содержит решене без решета Эратосфена. | ||
| # | ||
| def find_prime(up_to): |
There was a problem hiding this comment.
По условию сюда передаётся порядковый номер простого числа, а у вас номер вбит в код в 9-й строке. Перепутали, наверное.
No description provided.