Проблема с кодом является то, что вы первый запрос для ввода с raw_input
, но сразу преобразовать его в int(..)
.
Есть два варианта: либо это удастся, в этом случае обработка выполняется путем добавления, но в этом случае number
никогда не может быть 'q'
, или, если это q
, int(..)
не удается, выдает ошибку, и вы будете выполнять except:
филиал.
Вы можете исправить это первое хранение вход (например, в number
), проверьте, если он 'q'
и если нет, то процесс это, что-то вроде:
lst = []
while True:
try:
number = raw_input("Enter a number: ") # no int(..)
if number == 'q':
break
else:
lst.append(int(number))
print lst
except:
print "Please enter a number!"
Вы можете оставить else:
(только else:
не является телом else:
) из программы, как говорит @schwobaseggi.
Как 'number' быть' q', если вы преобразуете его в 'int'. –
Ahhh ... и спасибо за редактирование для меня. Это создает общий смысл. Я вернусь и переписал его. Думаю, я включу его в int внутри append. Спасибо. – magic9669
вам нужно проверить ** перед добавлением **. –