I have struggled for hte past hour trying to figure out why my "count" variable stays 0 when I run this code.
def main():
print "There are %s Instagram Routes in the DB" % db.routes.count()
results = defaultdict(dict)
d= 1.5 #distance
t= 4*3600 #in seconds
# For each route a_route in db.routes
print "Start of for each route for loop"
all_routes = db.routes.find().limit(5)
for a_route in all_routes:
print "restart"
# for a set of size 1 to N:
for i in range(1,a_route['n_points']+1):
# Create set of size n
set_of_size_i_pts = select_points(a_route,i)
# Calcalute the number of possible routes for the set
x_route = find_routes(set_of_size_i_pts,t,d)
x_length = len(set_of_size_i_pts)
results[a_route['_id']].update({x_length:x_route})
print results
def select_points(a_route,i):
pts = a_route['points']
return random.sample(pts,i)
def find_routes(set_of_size_i_pts,t,d):
all_routes = db.routes.find().limit(5)
count = 0
for a_route in all_routes:
if is_legitimate_route(set_of_size_i_pts,a_route,t,d):
print "hel"
count+=1
print "count: %s" % count
b = 6
print b
return count
Output:
r
estart
hel
count: 1
6
hel
count: 1
6
hel
count: 1
6
hel
count: 1
6
hel
....
Any advice would be really appreciated!
Thank you The goal is to be able to count the number of true statements. This is why I increment by 1 each time.
I think this for loop 'for a_route in all_routes:' is executing only once whenever it is called from here 'x_route = find_routes(set_of_size_i_pts,t,d)'.
Check this in your code. And run it again. Also try the below code, See if that prints incremented count values or not. I have added a static number in for loop just to confirm that if your for loop executes more than one time then it will must print incremented count.
def main():
print "There are %s Instagram Routes in the DB" % db.routes.count()
results = defaultdict(dict)
d= 1.5 #distance
t= 4*3600 #in seconds
# For each route a_route in db.routes
print "Start of for each route for loop"
all_routes = db.routes.find().limit(5)
for a_route in all_routes:
print "restart"
# for a set of size 1 to N:
for i in range(1,a_route['n_points']+1):
# Create set of size n
set_of_size_i_pts = select_points(a_route,i)
# Calcalute the number of possible routes for the set
x_route = find_routes(set_of_size_i_pts,t,d)
x_length = len(set_of_size_i_pts)
results[a_route['_id']].update({x_length:x_route})
print results
def select_points(a_route,i):
pts = a_route['points']
return random.sample(pts,i)
def find_routes(set_of_size_i_pts,t,d):
all_routes = db.routes.find().limit(5)
count = 0
for a_route in range(1, 10):
print "hel"
count+=1
print "count: %s" % count
b = 6
print b
return count
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.