2

ユーザーに5.数字の入力を求めるforステートメントがあります。このような:

"Input 1. number:

input 2. number:

..
..
.."

ユーザーが間違った入力(数値が大きすぎる)を行う前に、最後のプロンプトを繰り返したいと思います。しかし、私のプログラムは間違ったものをスキップします:

このような

"Input 1. number:
5
Accepted

input 2. number:
999
Wrong! Retry
(here I use *continue* for the loop)

input 3.number:

---"

2番目の質問を再質問するにはどうすればよいですか?

4

1 に答える 1

5

を使用continueすると、おそらく次の入力番号に進みます。次のようなことを試してください:

number_of_inputs = 10
max_input = 99
for i in range(number_of_inputs):
    answer = 0
    while not answer or answer > max_input:
        try:
             answer = int(raw_input('Input {}. number: '.format(i)))
        except ValueError:
             continue
    print 'The user selected', answer, 'for input', i
于 2012-11-21T18:14:20.130 に答える