""" write a program that generates random list of 10 ints in range -10, 10 write a function remove_positive(my_list) - removes all positives from the list write a function remove_negative(my_list) - removes all negatives from the list write a fucntion remove_zero(my_list) - removes all zero's """ import random def make_random_list(size, min_limit, max_limit): return [random.randint(min_limit, max_limit) for i in range(size)] def remove_positive(my_list): #one approach - to create a list of positives first #and then remove all positives from original list pos=[] for item in my_list: if(item>0): pos.append(item) #actual removal part for item in pos: my_list.remove(item) def remove_negative(my_list): """ WRONG SOLUTION for item in my_list: if(item<0): my_list.remove(item) return my_list """ """ CORRECT SOLUTION #1 size=len(my_list) for i in range(size-1, -1,-1): if(my_list[i]<0): my_list.remove(my_list[i]) """ for item in my_list[:]: if(item<0): my_list.remove(item) def remove_zero(my_list): """ correct solution similar to remove positive zero=[] for item in my_list: if(item==0): zero.append(item) for item in zero: my_list.remove(item) """ count_zero=my_list.count(0) zero=[0]*count_zero for item in zero: my_list.remove(item) def main(): my_list=make_random_list(10,-10,10) print("before removal", my_list) #function call remove_positive(my_list) print("after removal", my_list) my_list=make_random_list(10,-10,10) print("before removal", my_list) remove_negative(my_list) print("my_list after removal",my_list) my_list=make_random_list(10,-1,1) print("before removal", my_list) remove_zero(my_list) print("my_list after removal",my_list) main()