Я сохранил большую часть вашей структуры, но исправил довольно много вещей. Чтобы получить нумерацию, я использовал оператор форматирования строки%. Вы также можете использовать str.format, , который многие предпочитают .
Вы можете отсортировать список на месте (список заменяется отсортированным списком) с помощью x.sort()
. Чтобы проверить, находится ли что-либо в списке, используйте thing is in mylist
или thing is not in mylist
def function():
x = []
a = 1
while True:
prompt = '%d. Enter a member: ' % a
name = input(prompt)
name = name.title() # convert first letter to uppercase
if name.strip() == '': # enter or empty string entered
print()
print('Members:')
for idx, item in enumerate(x):
print('%d. %s' % (idx+1, item))
break
elif name not in x:
x.append(name)
x.sort() # sort x in place
print("Names: ", x)
a += 1
function()
и мой вывод:
1. Enter a member: samantha
Names: ['Samantha']
2. Enter a member: susan
Names: ['Samantha', 'Susan']
3. Enter a member: billy
Names: ['Billy', 'Samantha', 'Susan']
4. Enter a member: Jason
Names: ['Billy', 'Jason', 'Samantha', 'Susan']
5. Enter a member:
Members:
1. Billy
2. Jason
3. Samantha
4. Susan
------------------
(program exited with code: 0)
Press any key to continue . . .