2015-12-23 3 views
-3

Я работал с движком Ren'Py, простым движком для визуальных романов, использующих Python для работы. Я столкнулся с этой проблемой и не знаю, что делать, кто-нибудь может дать руку?Переменная установка переменной, которая будет использоваться

бар: StaticValue (переменного, значения)

Бар создает бар, представляющий переменной, с максимальным значением значения. Я не буду упоминать значение, так как это не имеет отношения к моему вопросу.

Я пытаюсь использовать Используется в качестве переменной, то есть б переменных представлены. Используется Однако он не имеет значения в integer. Используется переменная со значением «Skill1» или «Skill2»

Skill1 и Skill2 являются переменными с целыми числами, и они являются теми, которые я хочу представить на бар.

Итак, что я хочу, в конце концов, StaticValue (Skill1, значение) ИЛИ StaticValue (Skill2, значение), в зависимости от значения Используется (Там, если предшествовало определение это).

Другой попробовать в объяснении:

Что Python THIKS ПРЯМО СЕЙЧАС:

бар: StaticValue (Используется). Бар должен представлять переменную .

Что я хочу Python ДУМАТЬ:

бар: StaticValue (Используется). Используется - это переменная со значением "Skill1". Бар должен представлять Skill1, так как это приводит к StaticValue (Skill1).

Я взял вторую попытку на этом объяснении, надеюсь, теперь лучше. Любая помощь приветствуется.


В качестве реакции на ответ User2589273, за лучший обзор: 4) будет именно то, что я хочу/необходимости, но это дает мне энную ошибку сейчас. Что я сделал:

python: 
    if InTeaching == "Skill1": 
     UsedSkill = "1" 
    elif InTeaching == "Skill2": 
     UsedSkill = "2" 
    elif InTeaching == "Skill3": 
     UsedSkill = "3" 
    else: 
     pass 
    dict = {1: 'Skill1Value', 2: 'Skill2Value', 3: 'Skill3Value'} 

Последовал:

bar: 
    value StaticValue(dict[UsedSkill], 10) 

Так что если InTeaching == Skill1, UsedSkill будет установлен в 1. Позже, в баре, UsedSkill будет соответствовать словарем для заполнения Skill1Value, переменной, которая должна присутствовать в StaticValue. Это работает в моей голове, но python дает мне ошибку на линии с "bar:".

+0

Я понятия не имею, что вы просите. Пожалуйста, найдите время, чтобы прочитать [помощь] и [mcve]. –

+1

У вас так много слов, но ваш вопрос совершенно неясен. Попытайтесь улучшить свой вопрос, разделив разделы. - Ваш код. - Это ожидаемое поведение. - Как это не удается. Если есть сообщения об ошибках, добавьте это в свой вопрос. – Olga

+0

Все еще очень неясно, какова конкретная проблема, когда вы пытаетесь это кодировать. – csmckelvey

ответ

0

Не слишком уверен, что вы просите, но вот мои четыре предположения:

1) назначение переменной, используя имя строки/строки из другой переменной:

dict = {'variable_name':value} 
add to locals().update(dict) 

2) поставляющих аргумент, состоящий как две части, которые уже были предварительно определены:

a = [b,c] 
barstuffs(a) 

3) что-то делать с созданием класса, который может взять на себя определенные значения: Были ли прочитанный через https://docs.python.org/2/tutorial/classes.html

4) Словарь использования:

dict = {0: 'skill1', 1: 'skill2'} 
used = 1 
dict[used] will give 'skill2' 
Смежные вопросы