第一段代码是heights = point[:, 2] n1 = min(heights) n2 = max(heights) min_value = round(n1, 7) max_value = round(n2, 7) print(min_value) print(max_value) h = 0.04 c = int((max_value - min_value)/h) print(c) z_coord = min_value + h/2 volume = 0.0 for i in range(c): result = [] for p in point: if abs(p[2] - z_coord) < 0.002: result.append(p) print("b") if len(result) < 3: continue print("a")第二段代码是min_value = 2.1899542 max_value = 15.6899542 h = 0.04 c = int((max_value - min_value)/h) print(c) z_coord = min_value + h/2 volume = 0.0 for i in range(c): result = [] for p in point: if abs(p[2] - z_coord) < 0.002: result.append(p) print("b") if len(result) < 3: continue print("a")第一段中的最大值和最小值和第二段差不多,为什么第二段可以输出a第一段不行
时间: 2024-03-31 17:33:04 浏览: 137
PdfWebViewerTS:3-Heights:trade_mark:PDF Web Viewer-TypeScript源代码-Web source code view
第一段和第二段代码中的最大值和最小值相同,不是导致输出不同的原因。根据您提供的代码,第一段代码中的if语句中只有一个continue语句,也就是说,当result列表的长度小于3时,程序会跳过当前循环,继续下一次循环。因此,如果result列表的长度小于3,程序不会输出a,而是直接跳过当前循环。而第二段代码中的if语句中,如果result列表长度小于3,程序会跳过当前循环并继续下一次循环,但同时也会输出b和a,这可能是因为在第二段代码中,if语句的外层还有一个for循环,因此会执行多次循环,导致输出b和a。
阅读全文