On 29/05/15 16:28, Mirage Web Studio wrote:
Below is a sample code i created.
Can i better it any way?
Of course. There is always improvements that can be made.
But in your case there are quite a few!
def IsDivisibleBy3(number):#string variable
v=0
for c in number:
v=v+int(c)
if v%3==0:
return True
else:
return False
def IsDivisibleBy3(number):#string variable
return not int(number) % 3
def IsDivisibleBy7(number):#string variable
See above, but maybe better still
def isDivisibleByN(number, N):
return not int(number)%N
def IsPrime(number):
Google for the "sieve of eratosthenes"
Or look it up on wikipedia.
That will give one of several possible
improvements to your algorithm.
primelist=[]
for i in range (11,200000,2):
number=str(i)
print "checking ",i
if IsPrime(number):
Note, you are starting with a number, then converting
it to a string then in your functions converting it
back to a number.
That's crazy!
Also where do you store the primes less than 11?
ie. 1,3,5,7
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor