Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python程序刚刚停止运行?_Python_Error Handling - Fatal编程技术网

Python程序刚刚停止运行?

Python程序刚刚停止运行?,python,error-handling,Python,Error Handling,我的程序有问题,它没有显示错误,但突然停止运行,暂停一分钟,然后停止 例如,程序在生成以下内容后停止: 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

我的程序有问题,它没有显示错误,但突然停止运行,暂停一分钟,然后停止

例如,程序在生成以下内容后停止:

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
不会产生任何错误消息

代码的目标是打印出一个数据列表,其中包含关于特定ID号的7条信息(如邮政编码、州)

如果输入的ID号不在我的ID号列表(也称为新匹配列表)中,则“chunks”将保持空白(因此,len(chunks)将为0),用户将被迫重新输入ID号,直到它与我的(新匹配列表)上的ID号匹配为止

如果ID号匹配,它应该填写(块)并打印出与ID相关的(块)的特定部分([x])

我可以做什么来修复此错误

编辑:我尝试了不同的方法来修复此错误,例如替换:

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

.....


但一切都没有奏效。像往常一样,程序只是停止而没有给我一个错误

您的问题有点不清楚,但我怀疑当控制达到
print(chunks[x])
时,您希望
x
具有它在
新匹配列表[x]==ID\u输入时的值。如果是这样,您需要在
If
块的最后一行放置
break
语句,即
chunks=[new_ID\u info\u list…
行之后。并且,正如Paul Cornelius提到的,您需要更改该列表理解中的变量,以便
x
不会被阻塞


但是,有一种更好的方法可以找到列表中的第一个匹配项:使用它的方法。您需要将其放入
try:…除
块外;或者,在尝试获取其索引之前,使用
in
操作符测试ID是否在列表中。

您发布的输出不会由您输入的代码生成已发布。请更正此不匹配。也许您不应该命名这么多变量
x
。一个变量位于for循环中,一个变量位于列表理解中(位于for循环内),另一个变量位于print语句中(位于循环外)。我甚至不想去想这段代码到底会做什么。清理一下混乱,看看会发生什么。也许你可以告诉我们一个“突然停止运行”的程序是如何暂停一分钟然后停止的。你怎么知道?
len(chunks) == 0:
if ID_Input not in new_match_list: