Сочетание 2 функций - PullRequest
       0

Сочетание 2 функций

0 голосов
/ 22 сентября 2011

Я пытаюсь объединить две функции, потому что A) я думаю, что могу и B) я думаю, что я должен.Когда я использую функции отдельно, скрипт работает нормально.Когда я объединяю их, «новая» переменная - это пустая строка, как и должно быть.Любая помощь будет оценена.Если вам нужен полный сценарий, который можно организовать.

Функция A:

def strip_domain_name(x):
    global ns
    l = x.find('@')
    ns = x[0:l]

Функция B:

def encode_user_name(x,y):
    global new
    for a in x:
        if a in y:
            new = new + y.get(a)

Функция A + B:

def combined_above_script(x,y,z):
    global ns
    global new  
    l = x.find('@')
    ns = x[0:l] 
    for a in y:
        if a in z:                  
            new = new + z.get(a)

Вот упрощенная версия того, что я пытаюсь сделать, с некоторыми модификациями, основанными на предложении блендера.В конце концов, если я напечатаю aa, это должно привести к '0000000'.Что не так.

aa = ''
bb = ''
encode = {'a':'0'}

def strip_and_encode(x,y,z):
aa = '' 
bb = x[0:x.find('@')]   

for a in y:
    if a in z:                  
        aa += z.get(a)

s='aaaaaaa@aaa'
strip_and_encode(s,bb,encode)
print(aa)

1 Ответ

2 голосов
/ 22 сентября 2011

Я бы полегче с глобалами:

def script(x, y, z):
  new = ''
  ns = x[:x.find('@')]

  for a in y:
    if a in z:                  
      new += z.get(a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...