'''
Created on Oct 1, 2014

@author: Susan
'''

# Remove all negative numbers from a list

def removeNegatives(numberlist):
    # return a new list without negatives
    answer = []
    for num in numberlist:
        if num >= 0:
            answer.append(num)
    return answer

print "removeNegativesSec1"
somenums = [3, -1, 8, -5, -2, 6, 7]
nonegs = removeNegatives(somenums)
print somenums
print nonegs

# The next code has problems!
def removeNegatives2(numberlist):
    # remove the negative numbers
    # from the list
    for x in range(len(numberlist)):
        value = numberlist[x]
        if value < 0:
            numberlist.pop(x)

        
# add print statements above to print x, value
# and the numberlist each time
print "removeNegatives2"       
somenums = [3, -1, 8, -5, -2, 6, 7]
#removeNegatives2(somenums)  
print "not called since it crashes"   
print somenums
# this code has problems   
def removeNegatives3(numberlist):
    # remove the negative numbers
    # from the list
    pos = 0;
    while (pos < len(numberlist)):
        value = numberlist[pos]
        if value < 0:
            numberlist.pop(pos)
        pos = pos + 1

print "removeNegatives3"        
somenums = [3, -1, 8, -5, -2, 6, 7]
print somenums
removeNegatives3(somenums)
print somenums


def removeNegatives4(numberlist):
    # remove the negative numbers from the list
    # this causes problems
    pos = 0;
    while (pos < len(numberlist)):
        value = numberlist[pos]
        if value < 0:
            numberlist.pop(pos)
        else:
            pos = pos + 1
   
print "removeNegatives4"         
somenums = [3, -1, 8, -5, -2, 6, 7]
print somenums
removeNegatives4(somenums)
print somenums

def removeNegatives5(numberlist):
    # return a new list without negatives
    return [num for num in numberlist if num >= 0]

print "removeNegatives5"
somenums = [3, -1, 8, -5, -2, 6, 7]
print somenums
print removeNegatives5(somenums)
