-1

次のようなコードがあります。

maybeYes = raw_input("Please enter Yes to continue.")
    if maybeYes != "Yes":
        print "Try again."
        # ask for input again
    else:
        pass

再度入力を求めるようにしたい場合は、何を入力すればよいですか?

4

3 に答える 3

2

wrongこれは、ユーザーがyes, Yes, YEs,YESを入力するまで印刷をループしyEsyeS入力が に対してチェックする前にすべて大文字に変換されるためYES、コードは続行できます...

while raw_input("Please enter Yes to start: ").upper() != 'YES':
       print 'Wrong'

print 'Correct'

#Carry on here 

出力:

Please enter Yes to start: nowg
Wrong
Please enter Yes to start: wggwe
Wrong
Please enter Yes to start: Yes
Correct
于 2012-10-28T22:15:00.633 に答える
2

raw_input をループで直接実行する必要があります。

while True:
    result = raw_input("...")
    if result != "Yes":
        print "Try again."
        continue
    else:
        break
于 2012-10-28T22:07:50.773 に答える
1

ここで無限ループが必要なようです。

maybeYes = raw_input("Please enter Yes to continue.")
while maybeYes != "Yes":
    maybeYes = raw_input("Please try again.")

ただし、いつでもカウンター/エスケープを追加できます。

maybeYes = raw_input("Please enter Yes to continue.")
attempts = 0
while maybeYes != "Yes" and attempts < 10:
    maybeYes = raw_input("Please try again.")
    attempts += 1
于 2012-10-28T22:09:23.707 に答える