0

私はPythonで次のコードを持っています:

def main():
    for i in range(-10, -100):
        print(i, end=' ')

if __name__ == '__main__':
    main()

しかし、何も出力されませんが、メイン関数を次のように変更すると:

def main():
    for i in range(-100, -10):
        print(i, end=' ')

期待される結果を出力しますが、最初の結果が機能しない理由は何ですか?

PS、Pythonチュートリアルで次のサンプルコードを見つけました:

range(-10, -100, -30)
  -10, -40, -70

ステップ(-30)を追加したからといって、なぜこれが機能するのですか?

4

2 に答える 2

0

range([start ,] stop [, range])正の範囲 (デフォルトは 1)の関数の小さなシミュレーションは次のとおりです。

def range(start, stop, range):
    lst = []
    while start < stop:
       lst += [start]
       start += range
    return lst

したがって、 if range(-10, -100)will fail start < stop、したがって何も出力されません。

ただし、 を使用した場合range(-10, -100, -1)、範囲が負になるため、 に置き換えることでシミュレーションが異なりstart < stopますstart > stop。それは機能しますが、-10 から -99 までの数字を出力します。2 番目の関数の逆です。

于 2013-09-15T19:07:00.017 に答える