我想結合兩個功能,因爲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