Это может быть очень простая ошибка, но я не знаю, где моя ошибка. У меня этот код, я пытаюсь удалить слот из массива, поскольку пользователь уже выбирает слот. но это не сработает. может ли кто-нибудь помочь?Невозможно удалить значение из массива в Python
slot = ['8 AM', '9 AM', '10 AM', '11 AM' , '12 AM' , '2 PM', '3 PM', '4 PM']
print "slot available:" , slot
print 'Choose your slot'
slotchoose = raw_input ("choose:")
if slotchoose == '8 AM' :
slot.remove ('8 AM ')
else :
if slotchoose == '9 AM' :
slot.remove ('9 AM')
else :
if slotchoose == '10 AM' :
slot.remove ('10 AM')
else :
if slotchoose == '11 AM':
slot.remove ('11 AM')
else:
if slotchoose == '12 AM':
slot.remove ('12 AM')
else :
if slotchoose == '2 PM' :
slot.remove ('2 PM')
else :
if slotchoose == '3 PM':
slot.remove ('3 PM')
else :
if slotchoose == '4 PM' :
slot.remove ('4 PM')
print "Slot aavail :" , slot
здесь пример вывода:
slot available: ['8 AM', '9 AM', '10 AM', '11 AM', '12 AM', '2 PM', '3 PM', '4 PM']
Choose your slot
choose:8 AM
Slot aavail : ['8 AM', '9 AM', '10 AM', '11 AM', '12 AM', '2 PM', '3 PM', '4 PM']
"8 AM" не должно быть
вы знаете о Do 'elif'? –
Если вы работаете только с небольшими массивами, вы можете поместить материал, который вы не выбрали в массиве temp, и заменить первый. И, как сказал tobias, 'elif' будет лучше, чем много' if else' – Morb
Кроме того, знаете ли вы, что весь этот код можно эффективно заменить на 'if slotchoose in (некоторые допустимые значения): slot.remove (slotchoose) '? –