Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-------------------------------------------------------------------------------
- # Name: module2
- # Purpose:
- #
- # Author: User
- #
- # Created: 12/05/2014
- # Copyright: (c) User 2014
- # Licence: <your licence>
- #-------------------------------------------------------------------------------
- # Imports #
- import random
- # Initializations #
- # Global Variables #
- # Main #
- def main():
- # Variables
- v_NumInstances = 20
- v_NumGroups = 5
- v_StartGroup = 0
- o_Instance = [c_Instance(random.randint(0, 1000), random.randint(9999, 99999))\
- for i in range(0,v_NumInstances)] ## Create some instances and pops with rand fitness, AS
- ## 0 for Reprodnum info
- v_Array = [] ## Inits test v_Array
- for i in range(0, v_NumInstances):
- #print "Instance[%i]'s fitness is %i"\
- #%(i, o_Instance[i].fitness)
- v_Array.append([i,o_Instance[i].fitness, o_Instance[i].AS, o_Instance[i].ReprodClass]) ## Puts
- ## each instance num and fitness and reprodclass in array
- #print v_Array
- v_Array.sort(key=f_SortKey) ## Sort fitness array on fitness number
- #print "Sorted", v_Array
- print "Before"
- for i in range(0, v_NumInstances):
- print v_Array[i][0],v_Array[i][1], v_Array[i][2], v_Array[i][3]
- print
- print "After"
- v_TopGroup = (v_NumGroups - 1)## Setsup max group num
- for i in range(0, v_NumGroups): ## Iters the groups
- for j in range(v_StartGroup, v_TopGroup): ## Iters the objects
- #print "i is %i and j is %i" %(i, j)
- v_Array[j][3] = i ## Inserts group num in [obj][ReprodNum]
- #o_Instance[j].ReprodClass = i
- v_StartGroup = v_TopGroup ## Sets new obj leves start for next group
- v_TopGroup = v_TopGroup + (v_NumGroups - 1) ## Sets new topgroup stop
- for i in range(0, v_NumInstances):
- print v_Array[i][0],v_Array[i][1], v_Array[i][2], v_Array[i][3]
- ## for i in range(0, v_NumInstances):
- ## print "Instanve[%i].ReprodClass is %i" %(i, o_Instance[i].ReprodClass)
- #------------------------------
- # Functions #
- # Normal Functions
- # This is an list and array sort func
- def f_SortKey(item): ## Takes in the hidden item from the func call
- return item[1] ## This is the idex to soert on
- def f_FitnessAssign(v_NumInstances):
- pass
- # Generator Functions
- # Classes #
- class c_Instance():
- def __init__(self, v_Fitness, v_AS):
- self.fitness = v_Fitness ## Test fitness level
- self.ReprodClass = 0 ## Test Reproductive class
- self.AS = v_AS ## Test ActionString
- # Main Loop #
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement