使用 active_directory 模块时遇到一个奇怪的问题,顺便说一句,这是一个很棒的包装器。
无论如何,我需要确保用户名是唯一的......这是我的功能:
import active_directory
def creative_name(fname, lname, n=1):
uname = fname[:n] + lname
x = active_directory.find_user(uname)
if x: creative_name(fname, lname, n+1)
else: return uname
if __name__=='__main__':
print creative_name("Sarah", "Smith")
它不断出现 None ......我希望它返回 uname ......或
fname[:n+1] + lname
这很奇怪,因为如果我像这样运行函数:
def creative_name(fname, lname, n=1):
uname = fname[:n] + lname
x = active_directory.find_user(uname)
if x: creative_name(fname, lname, n+1)
else: print uname
>>>
SaSmith
>>>
SaSmith 被返回......为什么它不返回值?!?!print uname 有效,但 return uname 返回 None!
请帮忙!
谢谢大家,
兰迪