2015-04-01 3 views
-1

Я пытаюсь получить данные от моего пользователя, чтобы назначить «фракцию» и на основе следующих входов изменить значения curAdvRep \ curCrmRep.int variable increment from function

Входные данные показывают, что значение funtion я получаю желаемый результат, но мне нужно иметь возможность постоянно изменять репутацию для фракции.

Из файла 2 называется в файле 1:

curAdvRep = 0 
curCrmRep = 0 
Crimson = "Crimson Brootherhood reputation: {0}".format(curCrmRep) 
Advent = "Advent of Chaos reputation: {0}".format(curAdvRep) 
PathSelDict = {'Advent' : Advent, 'Crimson' : Crimson, 'n' : n, 'c' : cont, 'd' : d, 'p' : p, 'l' : l} 

def Faction (rep): 
    global curAdvRep 
    global curCrmRep 
    global Advent 
    global Crimson 

    if rep in PathSelDict: 
     if rep == 'Advent': 
      curAdvRep += 50 
      curCrmRep -= 5 
      Advent = "Advent of Chaos reputation: {0}".format(curAdvRep) 
      print(Advent) 
      #print(Factions[JoinWorld]) 
     elif rep == 'Crimson': 
      curAdvRep -= 5 
      curCrmRep += 50 
      print(PathSelDict[JoinWorld]) 
    else: 
     print(Dismiss) 
     sys.exit(0) 

Из файла 1:

rep = input("Which side are you on? Advent or Crimson? ").title() 
questfunc.Faction(rep) 
print(Advent) 
print(curAdvRep) 
print(curCrmRep) 

Выход:

Pick up the box or leave it alone? (p or l): p 
Pick up the box 
Reputation Gain 
Advent of Chaos reputation: 5 
Which side are you on? Advent or Crimson? advent 
Advent of Chaos reputation: 55 
Advent of Chaos reputation: 0 
0 
0 

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

+0

Вместо того, чтобы просто вниз рейтинга, пожалуйста, скажите мне, что я делаю неправильно ... Я пытаюсь, чтобы мой основной программы отдельно от своих функций. Main = Файл 1, Функции = Файл2. Main соберет и сохранит ввод от пользователя и вызовет функции для передачи переменных. Основываясь на пользовательском вводе, мне нужно изменить переменную, выходящую из функции, и не использовать ее в последующих вызовах этой переменной как в файлах 1, так и в файле2. Пожалуйста, помогите мне понять. – DaNNuN

ответ

0

Так что я нашел работу вокруг. Для тех, кто также задал этот вопрос и не получил полезного ответа, пожалуйста, взгляните.

Choice1 = input(" Pick up the box or leave it alone? (p or l): ").lower() 
RepGain(Choice1) 
print(Advent, curAdvRep) 


# Function for gain 
def RepGain (Choice): 
    global curAdvRep 
    global curCrmRep 
    global Advent 
    global Crimson 

    if Choice in PathSelDict: 
     if Choice == 'p': 
      print('Reputation Gain\nAdvent + 100') 
      curAdvRep += 100 
      return curAdvRep 
     elif Choice == 'l': 
      print('Crimson + 100') 
      curCrmRep += 100 
      return curCrmRep 
     else: 
      print(Dismiss) 
      sys.exit(0) 

Output: 
Reputation Gain 
Advent + 100 
Advent of Chaos reputation: 100