quot;""Модуль для вычисления простых чисел от 2 до N """ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

quot;""Модуль для вычисления простых чисел от 2 до N """

Поиск

Поддержка цикла разработки

 

Модули этого раздела помогают поддерживать документацию,производить регрессионное тестирование,отлаживать и профилировать программы наPython,а также обслуживают распространение готовых программ,создавая среду для конфигурирования и установки пакетов.

 

В качестве иллюстрации можно предположить,что создается модуль для вычисления простых чисел по алгоритму"решето Эратосфена".Модуль будет находиться в файле Sieve.py и состоять из одной функции primes(N),которая в результате своей работы дает все простые(не имеющие натуральных делителей кроме себя и единицы)числа от 2 до N:

 

import sets import math

 

"""Модуль для вычисления простых чисел от 2 до N """

 

def primes(N):

"""Возвращает все простые от 2 до N""" sieve = sets.Set(range(2, N))

 

for i in range(2, math.sqrt(N)): if i in sieve:

 

sieve -= sets.Set(range(2*i, N, i)) return sieve

 

Модуль pdb

 

Модуль pdb предоставляет функции отладчика с интерфейсом-командной строкой.Сессия отладки вышеприведенного модуля могла бы быть такой:

 

>>> import pdb

>>> pdb.runcall(Sieve.primes, 100)

 

> /home/rnd/workup/intuit-python/examples/Sieve.py(15)primes() -> sieve = sets.Set(range(2, N))

 

(Pdb) l

 

10 import sets

11 import math

12 """Модуль для вычисления простых чисел от 2 до N """

13 def primes(N):

14 """Возвращает все простые от 2 до N"""

15 -> sieve = sets.Set(range(2, N))

16 for i in range(2, int(math.sqrt(N))):

17 if i in sieve:


 


18 sieve -= sets.Set(range(2*i, N, i))

19 return sieve

 

20 (Pdb) n

 

> /home/rnd/workup/intuit-python/examples/Sieve.py(16)primes() -> for i in range(2, int(math.sqrt(N))):



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 62; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.009 с.)