當我執行下面的我寫的Python代碼,(我試圖創建一個基於三個不同場景的用戶名(1.user進入第一,中間和姓氏,2.用戶輸入名字和姓氏,3.用戶只輸入姓氏,我試圖根據姓氏的前4個字符+第一個首字母(當提供時)+中間名字首字母(當提供時)。當我執行下面的代碼,使用第一+姓氏組合或只是姓,我收到根據不同的標準執行不同的分割創建一個不同的輸出
lastName = (listnames[2]) IndexError: list index out of range
def entirename(fullName):
lowername = str.lower(fullName)
delimiter =' '
listnames = (lowername.split(delimiter))
lastName = (listnames[2])
lname = lastName[0:4]
fInit = listnames[0]
fname = fInit[0]
mInit = listnames [1]
mname = mInit[0]
username =lname+fname+mname
return
def firstlast(fullName):
lowername = str.lower(fullName)
delimiter =' '
listnames = (lowername.split(delimiter))
lstName = (listnames[1])
lname = lastName[0:4]
fInit = listnames[0]
fname = fInit[0]
username = lname+fname
return
def last(fullName):
lowername = str.lower(fullName)
delimiter =' '
listnames = (lowername.split(delimiter))
lstName2 = (listnames[0])
lname = lstName2[0:4]
username = lname
return
def main():
print "Hello! This program will contruct a new userid for you."
print ""
fullName = raw_input('Please enter your full name: ')
while True:
if fullName[2]:
entirename(fullName)
break
elif fullname[1]:
firstlast(fullName)
break
elif fullname[0]:
last(fullName)
break
main()
,因爲這是不使用python 3.x的打印和輸入重新標記,以蟒蛇。 –