Я бы использовал словарь для этого
#!/usr/bin/env python
options = {"blue":24, "red":18}
answer = raw_input('What color would you like to know the value for? \n')
print(options[answer])
Вы можете получить доступ к переменной буквально с помощью eval
или locals
.Но это обычно считается плохой идеей, если у вас нет другого выбора.Я также утверждал бы, что это более сложно без какой-либо реальной причины.
Объяснение того, что происходит:
Мы создаем новый словарь под названием options, с "blue" и "red" в качестве ключейи 24 и 18 как его значения соответственно.
Теперь, когда мы хотим получить наш ответ, мы можем получить к нему доступ с помощью options[answer]
, что совпадает с options["blue"]
, поскольку я дал "синий" в качестве ответа для ввода.
Результат:
What color would you like to know the value for?
blue
24
Примечания:
Если вы используете Python 2, используйте raw_input
вместо input
.Это очень простое решение, и если пользователь вводит что-либо, кроме «синего» или «красного», сценарий выдаст KeyError
.Я бы начал с Я получаю сообщение об ошибке ключа в python для заметок о том, как с этим справиться.