Pythonで無限ループ問題を解決する方法

不言
リリース: 2019-01-02 16:35:44
オリジナル
9907 人が閲覧しました

Pythonではfor命令やwhile命令を使ってループ処理を行うことができますが、この永久ループが終わらないことを無限ループと呼びます。次の記事でその問題の解決方法を見ていきます。 Python の無限ループ。

Pythonで無限ループ問題を解決する方法

まず、無限ループの例を簡単に見てみましょう。

while True:
    print("hello")
ログイン後にコピー
ログイン後にコピー

このプログラムを実行すると、while の条件は常に True になります。したがって、常に hello が出力されます。さらに、無限ループが意図せず作成される可能性があります。たとえば、ユーザーが何かを入力すると値を表示し、入力がない場合は終了するプログラムを考えてみましょう。

while True:
    s = input("请输入内容")
    if(s):
        print(s, "输入的文字")
ログイン後にコピー
ログイン後にコピー

この場合、ユーザーが何も入力しないとプログラムは終了します。そのため、ループ処理を経由することができず、無限ループすることになります。ここではもう少し複雑な例を示します。

l = [0]

for i in l:
    print(i)
    l.append(i+1)
ログイン後にコピー
ログイン後にコピー

この場合、ループ内のリスト「l」に要素を追加しています。したがって、for ステートメントはどの時点でも完了せず、無限ループします。これは間違ったプロセスであるため、プログラムを見直す必要があります。

意図しない無限ループにより、コンピューターのメモリと CPU が過剰に消費される可能性があります。まず、プログラムが誤って無限ループにならないようにチェックする必要があります。最も重要なことは、無限ループを使用する場合、それを回避する方法が必要であるということです。それでは、無限ループの問題を解決する方法を見てみましょう

break メソッドを使用して無限ループから脱出することができ、break メソッドを使用して無限ループを終了することができます。ループ処理中にループします。

具体的な例を見てみましょう

無限ループしないように上記のプログラムを修正してみましょう

まず第一に

while True:
    print("hello")
ログイン後にコピー
ログイン後にコピー

次は、break メソッドを使用して変更した例です。今回は10回ループしたら終了するように修正します。

i = 0
while True:
    print("hello")
    i += 1
    if (i ==10):
        break
ログイン後にコピー

の後に

while True:
    s = input("请输入内容")
    if(s):
        print(s, "输入的文字")
ログイン後にコピー
ログイン後にコピー


while True:
    s = input("请输入内容")
    if(s):
        print(s, "输入的文字")
    else:
        break
ログイン後にコピー

に変わり、最後に


l = [0]

for i in l:
    print(i)
    l.append(i+1)
ログイン後にコピー
ログイン後にコピー

この場合、事前に準備しておくと良いでしょうループ中にリストに要素を追加しないようにします。

l = [0, 1, 2, 3, 4]

for i in l:
    print(i)
ログイン後にコピー
要約すると、上記がこの記事の全内容です。さらに興味深い内容については、PHP 中国語 Web サイトにある他の関連コラム チュートリアルを参照してください。 ! !


以上がPythonで無限ループ問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート