2016-11-20 5 views
-2

Wie würde ich einer bestimmten Position in der von mir erstellten Liste einen Namen hinzufügen? Die Liste heißt names. Wenn diese Position bereits vergeben ist, möchte ich diese Position mit dem neuen Namen überschreiben. Es können nur 10 Namen in der Liste sein.In eine Liste an einer bestimmten Position einfügen

Dies ist der Code:

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

Ich habe wirklich keine Ahnung, was Sie gerade gefragt haben. Bitte können Sie ein bisschen erklären –

Antwort

0

Sie bereits einen guten Start, dies zu lösen haben. Das erste, was Sie tun müssen, ist, die Position, die Sie erhalten, in Integer zu konvertieren. Sie können dies tun, indem Sie:

position = int(position) 

Als nächstes müssen Sie den Namen an der Position einzufügen der Benutzer eher eingegeben, als es bis zum Ende der Liste angehängt wird.

Also ändern Sie diese Zeile names.append(name) zu names.insert(position, name). Eine Verknüpfung, um die gleiche Sache zu tun ist zu tun names[position] = name

Sie sollten diese tutorial untersuchen, um mehr über Listen zu erfahren.

0

Sie müssen vorbelegen die Namensliste, so dass alle gültigen Positionen in indiziert werden können:

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

Auf diese Weise jeder gültige Index 0-9 in der Liste kann dort abgerufen und der Wert werden Geändert:

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') 
Verwandte Themen