def log_planet_count_dist(sys_list): planet_count_dist = {} planet_size_dist = {size: 0 for size in planets.planet_sizes} for system in sys_list: planet_count = 0 for planet in fo.sys_get_planets(system): this_size = fo.planet_get_size(planet) if this_size in planets.planet_sizes: planet_count += 1 planet_size_dist[this_size] += 1 planet_count_dist.setdefault(planet_count, [0])[0] += 1 planet_tally = sum(planet_size_dist.values()) count_distribution_table = Table( [Text('planets in system'), Text('num of systems'), Float('% of systems', precession=1)], table_name='Planet Count Distribution' ) for planet_count, sys_count in planet_count_dist.items(): count_distribution_table.add_row((planet_count, sys_count[0], 100.0 * sys_count[0] / len(sys_list))) print(count_distribution_table) print() size_distribution = Table( [Text('size'), Text('count'), Float('% of planets', precession=1)], table_name='Planet Size Distribution' ) for planet_size, planet_count in sorted(planet_size_dist.items()): size_distribution.add_row((planet_size, planet_count, 100.0 * planet_count / planet_tally)) print(size_distribution) print()
def log_planets(): universe = fo.get_universe() planets_table = Table([ Text('id'), Text('name'), Text('system'), Text('type'), Sequence('specials'), Text('species'), Sequence('buildings') ], table_name='Planets summary') # group planets by system for sid in fo.get_systems(): for pid in fo.sys_get_planets(sid): planet = universe.getPlanet(pid) planet_type = fo.planet_get_type(pid).name planet_size = fo.planet_get_size(pid).name if planet_type != planet_size: planet_type = '%s %s' % (planet_type, planet_size) buildings = [ universe.getBuilding(x).name for x in planet.buildingIDs ] planets_table.add_row([ pid, planet.name, planet.systemID, planet_type, list(planet.specials), planet.speciesName, buildings ]) # Printing too much info at once will lead to truncation of text for line in planets_table.get_table().split('\n'): print line
def log_planet_count_dist(sys_list): planet_count_dist = {} planet_size_dist = {size: 0 for size in planets.planet_sizes} for system in sys_list: planet_count = 0 for planet in fo.sys_get_planets(system): this_size = fo.planet_get_size(planet) if this_size in planets.planet_sizes: planet_count += 1 planet_size_dist[this_size] += 1 planet_count_dist.setdefault(planet_count, [0])[0] += 1 planet_tally = sum(planet_size_dist.values()) count_distribution_table = Table( [Text('planets in system'), Text('num of systems'), Float('% of systems', precession=1)], table_name='Planet Count Distribution' ) for planet_count, sys_count in planet_count_dist.items(): count_distribution_table.add_row((planet_count, sys_count[0], 100.0 * sys_count[0] / len(sys_list))) print count_distribution_table print size_distribution = Table( [Text('size'), Text('count'), Float('% of planets', precession=1)], table_name='Planet Size Distribution' ) for planet_size, planet_count in sorted(planet_size_dist.items()): size_distribution.add_row((planet_size, planet_count, 100.0 * planet_count / planet_tally)) print size_distribution print
def log_planets(): universe = fo.get_universe() planets_table = Table( [Text('id'), Text('name'), Text('system'), Text('type'), Sequence('specials'), Text('species'), Sequence('buildings')], table_name='Planets summary') # group planets by system for sid in fo.get_systems(): for pid in fo.sys_get_planets(sid): planet = universe.getPlanet(pid) planet_type = fo.planet_get_type(pid).name planet_size = fo.planet_get_size(pid).name if planet_type != planet_size: planet_type = '%s %s' % (planet_type, planet_size) buildings = [universe.getBuilding(x).name for x in planet.buildingIDs] planets_table.add_row([ pid, planet.name, planet.systemID, planet_type, list(planet.specials), planet.speciesName, buildings ]) # Printing too much info at once will lead to truncation of text for line in planets_table.get_table().split('\n'): print line
def log_planet_count_dist(sys_list): planet_count_dist = {} planet_size_dist = {size : 0 for size in planets.planet_sizes} for system in sys_list: planet_count = 0 for planet in fo.sys_get_planets(system): this_size = fo.planet_get_size(planet) if this_size in planets.planet_sizes: planet_count += 1 planet_size_dist[this_size] += 1 planet_count_dist.setdefault(planet_count, [0])[0] += 1 planet_tally = sum(planet_size_dist.values()) print "Planet Count Distribution: planets_in_system | num_systems | % of systems" for planet_count, sys_count in planet_count_dist.items(): print "\t\t\t%2d | %5d | %4.1f%%" % (planet_count, sys_count[0], 100.0 * sys_count[0] / len(sys_list)) print print "Planet Size Distribution: size | count | % of planets" for planet_size, planet_count in planet_size_dist.items(): print "\t\t%-12s | %5d | %4.1f%%" % (planet_size, planet_count, 100.0 * planet_count / planet_tally)
def log_planet_count_dist(sys_list): planet_count_dist = {} planet_size_dist = {size: 0 for size in planets.planet_sizes} for system in sys_list: planet_count = 0 for planet in fo.sys_get_planets(system): this_size = fo.planet_get_size(planet) if this_size in planets.planet_sizes: planet_count += 1 planet_size_dist[this_size] += 1 planet_count_dist.setdefault(planet_count, [0])[0] += 1 planet_tally = sum(planet_size_dist.values()) count_distribution_table = Table( Text("planets in system"), Text("num of systems"), Number("% of systems", precession=1), table_name="Planet Count Distribution", ) for planet_count, sys_count in planet_count_dist.items(): count_distribution_table.add_row( planet_count, sys_count[0], 100.0 * sys_count[0] / len(sys_list), ) count_distribution_table.print_table(print) print() size_distribution = Table( Text("size"), Text("count"), Number("% of planets", precession=1), table_name="Planet Size Distribution", ) for planet_size, planet_count in sorted(planet_size_dist.items()): size_distribution.add_row( planet_size, planet_count, 100.0 * planet_count / planet_tally, ) size_distribution.print_table(print) print()
def log_planet_count_dist(sys_list): planet_count_dist = {} planet_size_dist = {size: 0 for size in planets.planet_sizes} for system in sys_list: planet_count = 0 for planet in fo.sys_get_planets(system): this_size = fo.planet_get_size(planet) if this_size in planets.planet_sizes: planet_count += 1 planet_size_dist[this_size] += 1 planet_count_dist.setdefault(planet_count, [0])[0] += 1 planet_tally = sum(planet_size_dist.values()) print "Planet Count Distribution: planets_in_system | num_systems | % of systems" for planet_count, sys_count in planet_count_dist.items(): print "\t\t\t%2d | %5d | %4.1f%%" % ( planet_count, sys_count[0], 100.0 * sys_count[0] / len(sys_list)) print print "Planet Size Distribution: size | count | % of planets" for planet_size, planet_count in planet_size_dist.items(): print "\t\t%-12s | %5d | %4.1f%%" % (planet_size, planet_count, 100.0 * planet_count / planet_tally)
def log_planets(): universe = fo.get_universe() planets_table = Table( Text("id"), Text("name"), Text("system"), Text("type"), Sequence("specials"), Text("species"), Sequence("buildings"), table_name="Planets summary", ) # group planets by system for sid in fo.get_systems(): for pid in fo.sys_get_planets(sid): planet = universe.getPlanet(pid) planet_type = fo.planet_get_type(pid).name planet_size = fo.planet_get_size(pid).name if planet_type != planet_size: planet_type = "%s %s" % (planet_type, planet_size) buildings = [ universe.getBuilding(x).name for x in planet.buildingIDs ] planets_table.add_row( pid, planet.name, planet.systemID, planet_type, list(planet.specials), planet.speciesName, buildings, ) planets_table.print_table(print)