2014-02-13 45 views
-5
# Write a program that asks the user to enter name in 
# 'first middle last' format. THe program should print 
# the name in format 'last,middleinitial first' 

name=input('Enter name in [first middle last] format:') 
space1= name.index(' ') 
first=name[0:space1] 

space2=name.index(' ',space1+1) 
#mandatory paramenter comes beofre optional parameter 

middle=name[space1+1:space2] 
last=name[space2+1:] 
newname=last+','+ middle[0]+'.'+first 
print(new name) 

你好!我只是在理解我們在課堂上寫的課程時遇到了一些麻煩。我理解我們如何使用索引來查找空間1,但是第一個中間姓氏python

  • 這是怎麼回事space2 = name.index(' ',space1+1)

空間1+1把它帶到一個空間比空間多1

  • 這是如何幫助找到空間2

感謝您的幫助!

+2

你在課堂上做什麼?爲什麼不清除你自己的疑慮? – devnull

+0

嘗試打印變量'space1'和'space2';它可能會有幫助。 – devnull

+0

是的,我打印space1和space2。我在這部分space2 = name.index('',space1 + 1)中遇到了麻煩。 space1 + 1在這裏做什麼?不索引只查找第一次出現? – user3295864

回答

0

how is this exactly working space2 = name.index(' ',space1+1)?

space1+1告訴函數索引總是開始尋找第二空間的第一空間後的位置(如果你不這樣做,那就總能找到你的第一個空間,因爲它從頭開始搜索)。

例如:name = 'enie meenie minie'第一空間位於space1=4的位置。爲了找到第二個空間,你必須從第一個空間之後的位置開始搜索(例如:space1+1 = 5),那會給你space2=11

+0

請記得將收到的最佳答案標記爲「已接受」,以便您也能幫助我們! – TheBestPessimist

+0

我明白了。感謝您的解釋。現在我明白髮生了什麼事。所以它基本上作爲一個範圍的功能沒有結束,「'是它正在尋找的東西。 – user3295864

+0

足夠接近:函數'index'就像'find':你告訴它要搜索什麼,從什麼位置開始搜索。 – TheBestPessimist