我正在尝试将两个函数结合起来,因为A)我认为我可以和B)我认为我应该。当我单独使用这些函数时,脚本运行正常。当我将它们组合起来时,“new”变量是一个空字符串副本应该是什么。任何帮助,将不胜感激。如果您需要可以安排的完整脚本。
功能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)
以下是我正在尝试做的简化版本,并根据blender的建议进行了一些修改。最后,如果我打印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)
答案 0 :(得分:2)
我可以轻松使用全局变量:
def script(x, y, z):
new = ''
ns = x[:x.find('@')]
for a in y:
if a in z:
new += z.get(a)