1

以下のコードはうまく機能しますが、「1」を選択すると、コードは if ステートメントを実行して「成功」を出力しますが、else ステートメントも実行して終了します。ユーザーが 1、2、または 3 を選択した場合、else ステートメントの実行を停止するにはどうすればよいですか?

ありがとう!

print "\nWelcome to the tool suite.\nWhich tool would you like to use?\n"
print "SPIES - press 1"
print "SPADE - press 2"
print "SPKF - press 3"
print "For information on tools - press i\n"

choice = raw_input("")
if choice == "1":
    execfile("lot.py")
    print ("success")

if choice == "2":
    #execfile("spade.py")
    print ("success")

if choice == "3":
    #execfile("spkf.py")
    print ("success")

if choice == "i":
    print "Google Maps is awesome.\n"
    print "SPADE\n"
    print "SPKF\n\n"

else:
    print "Error, exiting to terminal"
    exit(1)
4

3 に答える 3

9

あなたはelif構築物が欲しいです。

if choice == "1":
    ...
elif choice == "2":
    ...
else: # choice != "1" and choice != "2"
    ...

そうしないと、異なるifステートメントが互いに切り離されます。強調するために空白行を追加しました。

if choice == "1":
    ...

if choice == "2":
    ...
else: # choice != 2
    ...
于 2013-07-03T23:45:42.440 に答える
2

あなたが探していますelif

if choice == "1":
    execfile("lot.py")
    print ("success")

elif choice == "2":
    #execfile("spade.py")
    print ("success")

elif choice == "3":
    #execfile("spkf.py")
    print ("success")

elif choice == "i":
    print "Google Maps is awesome.\n"
    print "SPADE\n"
    print "SPKF\n\n"

else:
    print "Error, exiting to terminal"
    exit(1)

これにより、ブロック全体が単一の条件付き構造の上に作成されます

于 2013-07-03T23:46:05.280 に答える