我想结合两个功能,因为A)我认为我可以和B)我认为我应该。当我单独使用这些函数时,脚本工作正常。当我把它们合并时,“新”变量是一个空字符串,它应该是什么。任何帮助,将不胜感激。如果你需要可以安排的完整脚本。结合2功能
功能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)
这里是我想要做一个简化版本,根据搅拌机的建议进行一些修改。最后,如果我打印一个它应该导致'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='[email protected]'
strip_and_encode(s,bb,encode)
print(aa)
什么是你想怎么办?它看起来像function_1只是返回字符串(?)的部分直到第一个“@”符号。 function_2看起来像返回x和y的交集。在你的组合脚本中,我不能说出function_1部分和function_2部分之间的相互作用。为什么全局?将一个变量命名为“新”可能不是一个好主意,因为这是一个关键字。 –
@Chris Curvey:'new'不是Python关键字。 –
你的函数应该可能返回一些东西。 – Benjamin