写这个更有效的方法是什么?

SoR*_*bby 1 python if-statement selection

我是python的新手,我想知道什么是更有效/更合适的方式来写这个?用户将输入他们的"orbiting_body"类型,如果匹配则会输入正确的变量.

if orbiting_body == "Ariel":    
    primary_body_radius = 578.9
    gravitational_parameter = 90.099
elif orbiting_body == "Callisto":   
    primary_body_radius = 2410.3    
    gravitational_parameter = 7181.224
elif orbiting_body == "Ceres":  
    primary_body_radius = 481.5 
    gravitational_parameter = 62.66886
elif orbiting_body == "Charon": 
    primary_body_radius = 603.5 
    gravitational_parameter = 101.4448
elif orbiting_body == "Deimos": 
    primary_body_radius = 6.2   
    gravitational_parameter = 0.000098521588
elif orbiting_body == "Dione":  
    primary_body_radius = 561.4 
    gravitational_parameter = 73.14704
elif orbiting_body == "Earth":  
    primary_body_radius = 6371  
    gravitational_parameter = 398678.064
elif orbiting_body == "Eris":   
    primary_body_radius = 1163  
    gravitational_parameter = 1114.558
elif orbiting_body == "Europa": 
    primary_body_radius = 1560.8    
    gravitational_parameter = 3203.52
else:   
    primary_body_radius = 0.0   
    gravitational_parameter = 0.0
Run Code Online (Sandbox Code Playgroud)

tde*_*ney 5

把它放在一个字典中

db = {
  "Ariel": (578.9, 90.099),
  ... and etc
}

primary_body_radius, gravitational_parameter = db.get(orbiting_body, (0.0, 0.0))
Run Code Online (Sandbox Code Playgroud)