Python 结合2个功能
我试图将两个功能结合起来,因为A)我认为我可以,B)我认为我应该。当我单独使用这些函数时,脚本工作得很好。当我组合它们时,“new”变量是一个空字符串,而不是它应该是什么。任何帮助都将不胜感激。如果你需要完整的脚本,可以安排 职能A:Python 结合2个功能,python,function,Python,Function,我试图将两个功能结合起来,因为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
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)
我会和环球队轻松相处:
def script(x, y, z):
new = ''
ns = x[:x.find('@')]
for a in y:
if a in z:
new += z.get(a)
你想干什么?函数_1似乎只返回字符串(?)中第一个“@”符号之前的部分。函数_2看起来像是返回x和y的交集。在您的组合脚本中,我无法说出函数_1部分和函数_2部分之间的相互关系。为什么是环球?将变量命名为“new”可能不是一个好主意,因为这是一个关键字。@Chris Curvey:“new”不是Python关键字。您的函数可能会返回一些内容。考虑到原始问题中全局变量的过度使用,海报可能需要在其中添加一个
return new
。我还需要制作脚本()
更具描述性;)更新以反映建议。