Python代码print(second)提示unreachable code错误的原因
不可达代码错误产生原因
错误的核心诱因是print(second)的缩进位置错误:它被写在了第二个for循环的内部,且紧跟在continue语句之后。
- Python中
continue是循环流程控制关键字,一旦在循环内执行到continue,会直接终止当前这一轮循环,跳过当前轮次里continue之后的所有代码,直接跳转到循环条件判断处进入下一轮循环。 - 你的第二个for循环每一轮执行到
second.append(new_2)后,就会立刻触发continue跳转,后面的print(second)从执行逻辑上永远没有机会被运行,因此会触发不可达代码提示。 - 额外说明:你两个循环末尾写的
continue都是冗余代码——它本身就在循环体的最后一行,后面本来就没有同缩进的剩余代码需要跳过,加和不加运行效果完全一致,可以直接删除。 - 你写的第一个列表的
print(first)没有报错,就是因为它放在了第一个for循环的外部,等整个循环全部执行完才会运行,不存在永远跑不到的问题。
修正后的参考代码
first = [] list_1 = int(input("Enter the numbers of elements for 1st list = ")) for i in range(list_1): new = int(input()) first.append(new) print(first) second = [] list_2 = int(input("Enter the number of elements in 2nd list= ")) for x in range(list_2): new_2 = int(input()) second.append(new_2) # 此处直接删掉了无意义的continue,把print放在循环外,等列表全部输入完成后打印 print(second)
如果你是想每输入一个第二个列表的元素就打印一次当前的second列表,只需要把
print(second)挪到同循环内continue的前面即可。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

