1

私はアイドルで次のようなプログラムを作成しました。

for trial in range(3):
if input('Password:') == 'password':
    break
else:
    # didn't find password after 3 attempts
    **I need a stop program here**
print ("Welcome in")

これはアイドル状態なので、CMDではなくアイドル用のプログラムが必要です。それが助けになるなら、私もPython3.2を使っています。

4

5 に答える 5

4

これを行うためのはるかに良い方法は、プログラムを関数に入れ、returnいつ停止するかです。次に、関数を呼び出してプログラムを実行します。

def main():
    for trial in range(3):
        if input('Password:') == 'password':
            break
    else:
        return
    print ("Welcome in")

main()
于 2012-07-03T19:48:27.213 に答える
2

使用sys.exit()またはraise SystemExit

import sys
for trial in range(3):
    if input('Password:') == 'password':
        break
else:
    sys.exit()
print ("Welcome in"))

編集: それを静かtry-exceptブロックで終了するには:

try:
    import sys
    for trial in range(1):
        if raw_input('Password:') == 'password':
            break
    else:
        raise SystemExit #or just sys.exit()
    print ("Welcome in")
except SystemExit:
    pass  #when the program throws SysExit do nothing here,i.e end silently
于 2012-07-03T19:43:47.993 に答える
1

「in IDLE」と「in CMD」の意味がわかりません。IDLE によって起動された Python シェルは、コマンドラインから起動された Python シェルと同じ方法で終了できる必要があります。

また、あなたの例のタブは間違っているようです。上下のすべてをfor...インデントprint...する必要があります。

あなたの質問に: その時点でスクリプトを終了するコマンドを求めていますか? その場合、例外が発生しますが、2 行を追加してfrom sys import exit呼び出すexit()とうまくいくはずですSystemExit。それが気に入らない場合は、プログラムの外層passに例外タイプのハンドラーを追加できます。SystemExit

于 2012-07-03T19:45:58.057 に答える
1

sys.exitいつでもプログラムを終了できます。

于 2012-07-03T19:46:52.017 に答える