不明白为什么函数的返回值是None

时间:2019-10-12 18:52:27

标签: python python-3.x python-2.7

对于以下代码,当我尝试同时输入无效数据和有效数据时,我得到的返回值为None。 我的预期输出是在执行字符串操作后打印有效的用户名。

import sys

def name_validate(name):
    if len(name)<6:
        print('Len should be min of 6')
        signup()
    elif name.isalpha()==True and name.isalnum()==False:
        print('Isalpha '+str(name.isalpha()))
        signup()
    elif name.isdecimal()==True and name.isalnum()==False:
        print('isdecimal ' + str(name.isdecimal()))
        signup()
    elif name.islower() == True:
        print('islower ' + str(name.islower()))
        signup()
    else:
        name=name
        return name

def signup():
    print('Enter username')
    username = input()
    valid_username=str(name_validate(username))
    return valid_username

print('Do you want to signup [Y/N]')
ans=input()
if ans == 'Y':
    final_username=signup()
    print('Login created for user ' + str(final_username))
else:
    sys.exit()

0 个答案:

没有答案