Python 根据不同的条件执行不同的拆分以创建不同的输出

Python 根据不同的条件执行不同的拆分以创建不同的输出,python,Python,当我执行下面我编写的python代码时,(我尝试根据三种不同的场景创建用户名(1.用户输入第一个、中间个和姓氏,2.用户输入第一个和姓氏,3.用户只输入姓氏。我尝试根据姓氏+首字母的前4个字符创建用户名)(提供时)+中间首字母(提供时)。当我执行以下代码时,使用first+last name组合或仅使用last name,我收到 我认为您的main()是错误的…fullname[2]是字符串的第三个字符…如果我没有弄错的话…?因为它还没有拆分 编辑: 所以,在main()中拆分()它,您就可以开

当我执行下面我编写的python代码时,(我尝试根据三种不同的场景创建用户名(1.用户输入第一个、中间个和姓氏,2.用户输入第一个和姓氏,3.用户只输入姓氏。我尝试根据姓氏+首字母的前4个字符创建用户名)(提供时)+中间首字母(提供时)。当我执行以下代码时,使用first+last name组合或仅使用last name,我收到

我认为您的main()是错误的…fullname[2]是字符串的第三个字符…如果我没有弄错的话…?因为它还没有拆分

编辑:

所以,在main()中拆分()它,您就可以开始了

同样值得注意的是,你不能降低一个列表。这就是我得到的消息

重新编辑:

这应该可以做到。经过充分测试的重写:

def main():
    print "Hello! This program will contruct a new userid for you.\n"
    fullstring = raw_input('Please enter your full name: ')
    fullName = fullstring.split(' ')
    lowerName = list()
    for each in fullName :
        lowerName.append(each.lower())
    lowerName.reverse()
    lastname = lowerName.pop(0)[0:4]
    lowerName.reverse()
    if lowerName : lastname += lowerName.pop(0)[0]
    if lowerName : lastname += lowerName.pop(0)[0]
    return lastname

main()

或者你可以写一些简单的东西,比如:

def get_id():
    print "Hello! This program will contruct a new userid for you.\n"
    name = raw_input('Please enter your full name: ').lower().split(' ')
    userid = name[-1][:4] # first 4 chars of last name
    if len(name) > 1:
        userid += name[0][0] # first char of opt first name
    if len(name) > 2:
        userid += name[1][0] # first char of opt middle name
    return userid

userid = get_id()
print 'userid:', userid

我仍然收到错误:def main():print“Hello!此程序将构造一个用户ID。”print“fullName=raw_input('请输入全名:'),而True:if fullName.split():entirename(fullName)break elif fullName.split():firstlast(fullName)break elif fullName.split():last(fullName)break main()重新标记到python,因为它不使用python 3.x打印和输入。
def main():
    print "Hello! This program will contruct a new userid for you.\n"
    fullstring = raw_input('Please enter your full name: ')
    fullName = fullstring.split(' ')
    lowerName = list()
    for each in fullName :
        lowerName.append(each.lower())
    lowerName.reverse()
    lastname = lowerName.pop(0)[0:4]
    lowerName.reverse()
    if lowerName : lastname += lowerName.pop(0)[0]
    if lowerName : lastname += lowerName.pop(0)[0]
    return lastname

main()
def get_id():
    print "Hello! This program will contruct a new userid for you.\n"
    name = raw_input('Please enter your full name: ').lower().split(' ')
    userid = name[-1][:4] # first 4 chars of last name
    if len(name) > 1:
        userid += name[0][0] # first char of opt first name
    if len(name) > 2:
        userid += name[1][0] # first char of opt middle name
    return userid

userid = get_id()
print 'userid:', userid