Как увеличить значение без использования elif?

1

Я написал код в следующем формате. Когда я вошел в возраст 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])
Теги:
python-3.x

2 ответа

4

Может быть, вы можете использовать dictionary вместо этого и использовать ключ, чтобы получить соответствующее значение следующим образом:

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
    спасибо за ваш ответ. но когда я вхожу в 21 год, я должен получить -0,4. аналогично, когда я вхожу в 22 года, я должен получить -0,3 и так далее ... как?
Показать ещё 2 комментария
0

Это эффективный способ.

print("beta co-efficient is", a[age-21]) Он жестко закодирован, что первое значение равно 21, и что они увеличиваются на единицу, но для вашего случая он будет работать.

  • 0
    я думаю, что вы не поняли, teclnol ожидает целочисленный индекс для массива, который вы упомянули (ваше использование показывает это тоже). в этом конкретном случае это будет работать. Ваш ответ Teclnol является лучшим. В противном случае вы можете использовать словари, такие как ответ ученика

Ещё вопросы

Сообщество Overcoder
Наверх
Меню