-1

基本的に、私の質問はこのコードを実行する方法についてですか? 分割統治法を使用して、指定されたリストから 2 番目に小さい数を見つけます。私は印刷してみました..しかし、それは私に何も与えません。このコードがどのように機能するかを見たいだけです。簡単な質問で申し訳ありませんが、Python ではまったく新しいものです。

4

1 に答える 1

0

関数呼び出しを使用して実行し、 aprintを印刷するだけです。

def two_min(arr):
    n = len(arr)
    if n==2: # Oops, we don't consider this as comparison, right?
        if arr[0]<arr[1]:                   # Line 1
            return (arr[0], arr[1])
        else:
            return (arr[1], arr[0])
    (least_left, sec_least_left) = two_min(arr[0:n/2])
    (least_right, sec_least_right) = two_min(arr[n/2:])
    if least_left < least_right:            # Line 2
        least = least_left
        if least_right < sec_least_left:    # Line 3
            return (least, least_right)
        else:
            return (least, sec_least_left)
    else:
        least = least_right
        if least_left < sec_least_right:    # Line 4
            return (least, least_left)
        else:
            return (least, sec_least_right)


print two_main([12,2])

これがどのように機能するかを知りたい場合は、オンラインの python ビジュアライザーを参照してください。リンク.

于 2013-10-31T05:49:21.980 に答える