如何重复 while 循环但不是从头开始
how to repeat while loop but not from beginning
现在我已经学习 python 大约 2 周了。我想解决这段代码。
number = 0
while True:
input_1 = int(input('First Number: '))
number += 1
if input_1 == 1:
input_2 = int(input('Second Number: '))
number += 2
if input_2 == 2:
input_3 = int(input('Third Number: '))
number += 3
if input_3 == 3:
break
else:
number -= 6
continue
else:
number -= 3
continue
else:
number -= 1
continue
print(number)
所以基本上我想重复 while 循环而不是开始,例如当我在 input_2 并且条件进入 else 时,我希望代码再次循环到 input_2。感谢您的所有回答
因为所有循环都具有相似的行为,所以最好的方法是根据当前阶段遍历变量而不是嵌套循环:
stage = 1
final_stage = 3
prompts = ['First Number: ', 'Second Number: ', 'Third Number: ']
increment = [1, 2, 3]
decrement = [1, 3, 6]
number = 0
while True:
input_num = int(input(prompts[stage - 1]))
number += increment[stage - 1]
if input_num == stage:
if stage == final_stage:
break
stage += 1
else:
number -= decrement[stage - 1]
print(number)
现在我已经学习 python 大约 2 周了。我想解决这段代码。
number = 0
while True:
input_1 = int(input('First Number: '))
number += 1
if input_1 == 1:
input_2 = int(input('Second Number: '))
number += 2
if input_2 == 2:
input_3 = int(input('Third Number: '))
number += 3
if input_3 == 3:
break
else:
number -= 6
continue
else:
number -= 3
continue
else:
number -= 1
continue
print(number)
所以基本上我想重复 while 循环而不是开始,例如当我在 input_2 并且条件进入 else 时,我希望代码再次循环到 input_2。感谢您的所有回答
因为所有循环都具有相似的行为,所以最好的方法是根据当前阶段遍历变量而不是嵌套循环:
stage = 1
final_stage = 3
prompts = ['First Number: ', 'Second Number: ', 'Third Number: ']
increment = [1, 2, 3]
decrement = [1, 3, 6]
number = 0
while True:
input_num = int(input(prompts[stage - 1]))
number += increment[stage - 1]
if input_num == stage:
if stage == final_stage:
break
stage += 1
else:
number -= decrement[stage - 1]
print(number)