0

そのため、このコードをデバッグしようとして問題が発生しています。[4,5,7,3,5,2,3] などの数値のリストがあり、最も近い 2 つの点を見つける必要があります。この場合、3 と 3 の差はゼロであるためです。 . ただし、正しい出力が返されません。リスト内で番号が繰り返されていない場合は機能しますが、番号が複数回表示されている場合は機能しません。

    def closest1(num_list):
        if len(num_list) < 2:
            return (None, None)  
        else:
            diff = max(num_list), min(num_list)
            for element in num_list:
                for sec_element in num_list:
                    if sec_element == element:
                        continue
                    if abs(sec_element - element) < abs(diff[0] - diff[1]):
                        diff = sec_element, element
        return diff
4

5 に答える 5