Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified series_mod/example.py
100644 → 100755
Empty file.
Empty file modified series_mod/series.py
100644 → 100755
Empty file.
8 changes: 8 additions & 0 deletions sieve_gen/example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Yevgeny Khessin
#A39652176
#HW1
# an implementation of Eratosthenes' Sieve using a Python generator
import sieve
#create zip of 1 through 4, and run sieve on it, printing results
for n, i in zip(range(4), sieve.sieve()):
print i
20 changes: 20 additions & 0 deletions sieve_gen/sieve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#Yevgeny Khessin
#A39652176
#HW1
# an implementation of Eratosthenes' Sieve using a Python generator

def primecheck(primes, n): #function defition of checking if number is prime
for i in primes: #for all numbers in primes list
if n % i == 0: #if modulus is 0
return False #return false
return True #if not, return true

def sieve(): #sieve function
listprimes = [2] #list of primes starting at 2
counter = listprimes[-1] + 1 #go one back and add 1
while 1: #endless while loop
if primecheck(listprimes, counter): #check if number is prime
listprimes.append(counter) #add it to list
yield counter #return the value

counter += 1 #increment counter
Binary file added sieve_gen/sieve.pyc
Binary file not shown.
17 changes: 17 additions & 0 deletions sieve_gen/test1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#Yevgeny Khessin
#A39652176
#HW1
#test1
import sieve
#run once to check if value produced is 3.
def test1():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val=i.next() #run iterator once, put value in val
assert val == 3 #check if value is 3. if not 3, fail.
print "Value should be 3, actual value is:"
print val


#call test
test1()
19 changes: 19 additions & 0 deletions sieve_gen/test2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Yevgeny Khessin
#A39652176
#HW1
#test1
import sieve
#run 3 times to check if value is 7
def test2():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val=i.next() #run iterator once, put value in val
val=i.next() #run iterator once, put value in val
val=i.next() #run iterator once, put value in val

assert val == 7 #check if value is 7. if not 7, fail.
print "Value should be 7, actual value is:"
print val

#call test
test2()
18 changes: 18 additions & 0 deletions sieve_gen/test3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#Yevgeny Khessin
#A39652176
#HW1
#test3
import sieve
#run once to make sure iterator is not at 2
def test3():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val = i.next() #run iterator once, put value in val

assert val != 2 #check if value not 2
print "Value should not be 2, actual value is:"
print val


#call test3
test3()
8 changes: 8 additions & 0 deletions sieve_itr/example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Yevgeny Khessin
#A39652176
#HW1
# an implementation of Eratosthenes' Sieve using a Python iterator
import sieve
#create zip of 1 through 4, and run sieve on it, printing results
for n, i in zip(range(4), sieve.sieve()):
print i
31 changes: 31 additions & 0 deletions sieve_itr/sieve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#Yevgeny Khessin
#A39652176
#HW1
# an implementation of Eratosthenes' Sieve using a Python iterator

def primecheck(primes, n): #function defition of checking if number is prime
for i in primes: #for all numbers in primes list
if n % i == 0: #if modulus is 0
return False #return false
return True #if not, return true

class sieve(object):
def __init__(self): #initializtion
self.listprimes = [2] #list of primes starting at 2

def __iter__(self): #iterator
return self #returns itself

def next(self): #iterator next
counter = self.listprimes[-1] + 1 #go back 1 and add 1
while 1: #endless while loop
if primecheck(self.listprimes, counter): #if it is a prime number
self.listprimes.append(counter) #add it to the list
return counter #return the value
counter += 1 #increment counter






Binary file added sieve_itr/sieve.pyc
Binary file not shown.
17 changes: 17 additions & 0 deletions sieve_itr/test1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#Yevgeny Khessin
#A39652176
#HW1
#test1
import sieve
#run once to check if value produced is 3.
def test1():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val=i.next() #run iterator once, put value in val
assert val == 3 #check if value is 3. if not 3, fail.
print "Value should be 3, actual value is:"
print val


#call test
test1()
19 changes: 19 additions & 0 deletions sieve_itr/test2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Yevgeny Khessin
#A39652176
#HW1
#test1
import sieve
#run 3 times to check if value is 7
def test2():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val=i.next() #run iterator once, put value in val
val=i.next() #run iterator once, put value in val
val=i.next() #run iterator once, put value in val

assert val == 7 #check if value is 7. if not 7, fail.
print "Value should be 7, actual value is:"
print val

#call test
test2()
18 changes: 18 additions & 0 deletions sieve_itr/test3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#Yevgeny Khessin
#A39652176
#HW1
#test3
import sieve
#run once to make sure iterator is not at 2
def test3():
s = sieve.sieve() #make a sieve object from file sieve
i = iter(s) #make iterator
val = i.next() #run iterator once, put value in val

assert val != 2 #check if value not 2
print "Value should not be 2, actual value is:"
print val


#call test3
test3()
13 changes: 13 additions & 0 deletions sieve_mod/example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#Yevgeny Khessin
#A39652176
#HW1

import sieve
#run 6 times
print sieve.next()
print sieve.next()
print sieve.next()
print sieve.next()
print sieve.next()
print sieve.next()

21 changes: 21 additions & 0 deletions sieve_mod/sieve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#Yevgeny Khessin
#A39652176
#HW1
# an implementation of Eratosthenes' Sieve using a a Python module

listprimes = [2]

def primecheck(primes, n): #function defition of checking if number is prime
for i in primes: #for all numbers in primes list
if n % i == 0: #if modulus is 0
return False #return false
return True #if not, return true

def next(): #next definition
counter = listprimes[-1] + 1 #
while 1:
if primecheck(listprimes, counter):
listprimes.append(counter)
return counter

counter += 1
Binary file added sieve_mod/sieve.pyc
Binary file not shown.