2016-11-20 121 views
-2

如何將名稱添加到我創建的列表中的某個位置?該列表被稱爲names。如果該位置已被採納,我想用新名稱覆蓋該位置。列表中只能有10個名字。在特定位置插入列表

這是代碼:

names = [] 
while True: 
    print ('1 = Add Name ') 
    print ('2 = Display List ') 
    print ('3 = Quit \n') 

    choice = input('What would you like to do: ') 
    if choice == '1': 
     number=input('Enter name: ') 
     position= input('What position in the list would you like to add to: ') 
      names.append(name) # what should i do here 
     if(len(names) > 11): 
      print("You cannot enter more names") 
     continue 
    if choice == '2': 
     print(names) 
     continue 
    if choice == '3': 
     print('Program Terminating') 
     break 
    else: 
     print('You have entered something invalid please use numbers from 1-3 ') 
     continue 
+0

我真的不知道你剛剛問了什麼。請你能解釋一下 –

回答

0

您已經有了一個良好的開端,以解決這一點。你需要做的第一件事是把你收到的位置轉換爲整數。您可以通過執行此操作:

position = int(position) 

接下來,您將需要在用戶輸入而不是將其追加到列表的末尾位置插入名稱。

因此,將此行更改爲names.append(name)names.insert(position, name)。做同樣事情的捷徑是names[position] = name

您應該檢查tutorial以瞭解更多關於列表的信息。

0

您需要預分配名稱列表,以便在所有有效位置可以被索引:

names = ['' for _ in range(10)] 

這樣一來,從09列表中的任何有效的索引可以訪問和那裏的價值已更改:

name = input('Enter name: ') 
position = input('What position in the list would you like to change: ') 
position = int(position) 
if -1 < position < 10: 
    names[position] = name 
else: 
    print('Invalid position entered')