如何不使用elif来增加值?

时间:2018-09-22 02:45:29

标签: python python-3.x

我以以下格式编写了代码。当我进入21岁时,我应该得到-0.4。同样,当我进入22岁时,我应该得到-0.3,依此类推。但是我不希望这些很多代码行。我该如何改进此代码。有人可以建议我

age=int(input("\nEnter the age :"))
a=[-0.4,-0.3,-0.2]

if age==21: 

     print("beta coefficient is ",a[0])

elif  age==22:

    print("beta coefficient is",a[1])

elif age==23:

    print("beta coefficient is ",a[2])

2 个答案:

答案 0 :(得分:4)

也许您可以改用dictionary并使用key来获取相应的值,如下所示:

a={21:-0.4, 22:-0.3, 23:-0.2}

print("beta coefficient is ",a[age])

更新:

如果输入的值或字典中不存在key,它将引发KeyError。在这种情况下,.get可以与默认值None或其他值)一起使用,以在找不到密钥时返回:

print("beta coefficient is ",a.get(age, None))

答案 1 :(得分:0)

这里是一种有效的方法。

print("beta co-efficient is", a[age-21]) 硬编码第一个值是21,并且它们递增1,但对于您的情况,它将起作用。