Difference between revisions of "User:Nolari"
From Kerbal Space Program Wiki
Line 351: | Line 351: | ||
for situation in situations: | for situation in situations: | ||
if situation not in body: | if situation not in body: | ||
+ | print '| style="background-color: lightgray;" | N/A' | ||
+ | elif situation == 'Surface Landed' and body in ['Kerbol', 'Jool']: # probably wrong, replace by N/A | ||
print '| style="background-color: lightgray;" | N/A' | print '| style="background-color: lightgray;" | N/A' | ||
elif situation == 'Splashed' and body[situation] == 1: # probably wrong, replace by N/A | elif situation == 'Splashed' and body[situation] == 1: # probably wrong, replace by N/A | ||
− | |||
print '| style="background-color: lightgray;" | N/A' | print '| style="background-color: lightgray;" | N/A' | ||
elif situation.endswith('Threshold Altitude'): | elif situation.endswith('Threshold Altitude'): |
Revision as of 09:49, 13 May 2014
Surface | Atmosphere | Space | |||||||
---|---|---|---|---|---|---|---|---|---|
Celestial body | Landed | Splashed | Flying Low | Flying High | Border | Orbit Low | Orbit High | Border | Craft Recovery |
Kerbol | N/A | N/A | N/A | N/A | N/A | 11× | 2× | 1 Gm | 4× |
Moho | 10× | N/A | N/A | N/A | N/A | 8× | 7× | 80 km | 7× |
Eve | 8× | 8× | 6× | 6× | 22 km | 7× | 5× | 400 km | 5× |
Gilly | 9× | N/A | N/A | N/A | N/A | 8× | 6× | 6 km | 6× |
Kerbin | 0.3× | 0.4× | 0.7× | 0.9× | 18 km | 1× | 1.5× | 250 km | 1× |
Mun | 4× | N/A | N/A | N/A | N/A | 3× | 2× | 60 km | 2× |
Minmus | 5× | N/A | N/A | N/A | N/A | 4× | 2.5× | 30 km | 2.5× |
Duna | 8× | N/A | 5× | 5× | 12 km | 7× | 5× | 140 km | 5× |
Ike | 8× | N/A | N/A | N/A | N/A | 7× | 5× | 50 km | 5× |
Dres | 8× | N/A | N/A | N/A | N/A | 7× | 6× | 25 km | 6× |
Jool | N/A | N/A | 12× | 9× | 120 km | 7× | 6× | 4 Mm | 6× |
Laythe | 14× | 12× | 11× | 10× | 10 km | 9× | 8× | 200 km | 8× |
Vall | 12× | N/A | N/A | N/A | N/A | 9× | 8× | 90 km | 8× |
Tylo | 12× | N/A | N/A | N/A | N/A | 10× | 8× | 250 km | 8× |
Bop | 12× | N/A | N/A | N/A | N/A | 9× | 8× | 25 km | 8× |
Pol | 12× | N/A | N/A | N/A | N/A | 9× | 8× | 22 km | 8× |
Eeloo | 15× | N/A | N/A | N/A | N/A | 12× | 10× | 60 km | 10× |
from decimal import Decimal lines = '''Sun In Space Low 11 Sun In Space High 2 Sun Surface Landed 1 Sun Splashed 1 Sun Recovered Craft 4 Sun Space Threshold Altitude 1E+09 Kerbin In Space Low 1 Kerbin In Space High 1.5 Kerbin Surface Landed 0.3 Kerbin Splashed 0.4 Kerbin Recovered Craft 1 Kerbin Flying Low 0.7 Kerbin Flying High 0.9 Kerbin Flying Threshold Altitude 18000 Kerbin Space Threshold Altitude 250000 Mun In Space Low 3 Mun In Space High 2 Mun Surface Landed 4 Mun Splashed 1 Mun Recovered Craft 2 Mun Space Threshold Altitude 60000 Minmus In Space Low 4 Minmus In Space High 2.5 Minmus Surface Landed 5 Minmus Splashed 1 Minmus Recovered Craft 2.5 Minmus Space Threshold Altitude 30000 Moho In Space Low 8 Moho In Space High 7 Moho Surface Landed 10 Moho Splashed 1 Moho Recovered Craft 7 Moho Space Threshold Altitude 80000 Eve In Space Low 7 Eve In Space High 5 Eve Surface Landed 8 Eve Splashed 8 Eve Recovered Craft 5 Eve Flying Low 6 Eve Flying High 6 Eve Flying Threshold Altitude 22000 Eve Space Threshold Altitude 400000 Duna In Space Low 7 Duna In Space High 5 Duna Surface Landed 8 Duna Splashed 1 Duna Recovered Craft 5 Duna Flying Low 5 Duna Flying High 5 Duna Flying Threshold Altitude 12000 Duna Space Threshold Altitude 140000 Ike In Space Low 7 Ike In Space High 5 Ike Surface Landed 8 Ike Splashed 1 Ike Recovered Craft 5 Ike Space Threshold Altitude 50000 Jool In Space Low 7 Jool In Space High 6 Jool Surface Landed 30 Jool Splashed 1 Jool Recovered Craft 6 Jool Flying Low 12 Jool Flying High 9 Jool Flying Threshold Altitude 120000 Jool Space Threshold Altitude 4000000 Laythe In Space Low 9 Laythe In Space High 8 Laythe Surface Landed 14 Laythe Splashed 12 Laythe Recovered Craft 8 Laythe Flying Low 11 Laythe Flying High 10 Laythe Flying Threshold Altitude 10000 Laythe Space Threshold Altitude 200000 Vall In Space Low 9 Vall In Space High 8 Vall Surface Landed 12 Vall Splashed 1 Vall Recovered Craft 8 Vall Space Threshold Altitude 90000 Bop In Space Low 9 Bop In Space High 8 Bop Surface Landed 12 Bop Splashed 1 Bop Recovered Craft 8 Bop Space Threshold Altitude 25000 Tylo In Space Low 10 Tylo In Space High 8 Tylo Surface Landed 12 Tylo Splashed 1 Tylo Recovered Craft 8 Tylo Space Threshold Altitude 250000 Gilly In Space Low 8 Gilly In Space High 6 Gilly Surface Landed 9 Gilly Splashed 1 Gilly Recovered Craft 6 Gilly Space Threshold Altitude 6000 Pol In Space Low 9 Pol In Space High 8 Pol Surface Landed 12 Pol Splashed 1 Pol Recovered Craft 8 Pol Space Threshold Altitude 22000 Dres In Space Low 7 Dres In Space High 6 Dres Surface Landed 8 Dres Splashed 1 Dres Recovered Craft 6 Dres Space Threshold Altitude 25000 Eeloo In Space Low 12 Eeloo In Space High 10 Eeloo Surface Landed 15 Eeloo Splashed 1 Eeloo Recovered Craft 10 Eeloo Space Threshold Altitude 60000 '''.splitlines() situations = ['Surface Landed', 'Splashed', 'Flying Low', 'Flying High', 'Flying Threshold Altitude', 'In Space Low', 'In Space High', 'Space Threshold Altitude', 'Recovered Craft'] bodies = dict() for line in lines: body,situation,value = line.split('\t') if body == 'Sun': body = 'Kerbol' if body not in bodies: bodies[body] = {'Name': body} bodies[body][situation] = Decimal(value) for i,body in enumerate(['Kerbol', 'Moho', 'Eve', 'Gilly', 'Kerbin', 'Mun', 'Minmus', 'Duna', 'Ike', 'Dres', 'Jool', 'Laythe', 'Vall', 'Tylo', 'Bop', 'Pol', 'Eeloo']): bodies[body]['Rank'] = i altitude_units = ['m', 'km', 'Mm', 'Gm'] for body in sorted(bodies.itervalues(), key=lambda body: body['Rank']): print '|-' print '| style="font-weight: bold;" | [[{0}]]'.format(body['Name']) for situation in situations: if situation not in body: print '| style="background-color: lightgray;" | N/A' elif situation == 'Surface Landed' and body in ['Kerbol', 'Jool']: # probably wrong, replace by N/A print '| style="background-color: lightgray;" | N/A' elif situation == 'Splashed' and body[situation] == 1: # probably wrong, replace by N/A print '| style="background-color: lightgray;" | N/A' elif situation.endswith('Threshold Altitude'): sort_key = '{0:010n}'.format(body[situation]) unit_index = 0 magnitude = body[situation] while magnitude >= 1000: unit_index += 1 magnitude /= 1000 print '| data-sort-value="{0}" | {1} {2}'.format(sort_key, magnitude, altitude_units[unit_index]) else: print '| data-sort-value="{0:04.1f}" | {1}×'.format(body[situation], body[situation])