while True:
chunks = []
for x in range(len(new_match_list)):
if new_match_list[x] == ID_Input:
chunks=[new_ID_info_list[x:x+7] for x in range(0, len(new_ID_info_list), 7)]
if len(chunks) == 0:
ID_Input = input("Please choose a number from the list provided, and enter it correctly this time!")
if len(chunks) > 0:
print (chunks[x])
break
У меня проблема с моей программой, где она не обнаруживает ошибки, но внезапно перестает работать, останавливается на минуту, а затем останавливается.Программа Python просто перестает работать?
Например, программа останавливается после получения:
Here is the list of complaint IDs you can choose from and ask about : ['1344139', '1344055', '1343332', '1343188', '1343131', '1341190', '1340441', ]
Choose a number from that list, and enter it in. Type in 'Quit' if you want to quit the program: 1344139
.....
Там нет никакого сообщения об ошибке производится вообще.
Цель кода - распечатать список данных, содержащих 7 информационных элементов (например, индекс, состояние) об определенном идентификационном номере.
Если введенный идентификационный номер отсутствует в моем списке идентификационных номеров (AKA new_match_list), то «куски» останутся пустыми (следовательно, len (chunks) будет 0), и пользователь будет вынужден повторно - введите идентификационный номер, пока он не будет сопоставлен с идентификатором моего (new_match_list).
Если идентификационный номер соответствует, он должен заполнить (куски) и распечатать определенную часть ([x]) (кусков), относящуюся к идентификатору.
Что можно сделать, чтобы исправить эту ошибку?
Edit: Я пробовал разные способы, чтобы исправить эту ошибку, например, подставляя:
len(chunks) == 0:
с
if ID_Input not in new_match_list:
, но ничего не получалось. Как всегда программа просто останавливается, не давая мне ошибку
Выведенный вами результат не будет создан кодом, который вы опубликовали. исправьте это несоответствие. – dbliss
Возможно, вы не должны указывать так много переменных 'x'. У вас есть один в цикле for, один в понимании списка (который находится внутри цикла for) и один в инструкции print (который находится вне цикла). Я даже не хочу думать о том, что на самом деле будет делать этот код. Уберите беспорядок и посмотрите, что произойдет. И, может быть, вы можете сказать нам, как программа, которая «внезапно перестает работать», может приостановиться на минуту, а затем остановиться. Как вы можете сказать? –