可能只是为了方便鱼油的理解吧
你改动后的代码没有问题,更为简洁
目的不一样,按照答案来看,双循环外层保证了代码持续执行,内层循环保证了输入错误之后可以再次输入直到输入正确为止,如果去掉一个循环,那么就是输错了就结束或者就跳过了if部分的代码。
当然具体如何处理还要看整体代码的安排,如果你通过别的办法实现相同的功能也是没问题的,但如果探究下来,实现相同的功能的方式很可能也是一种双循环 ja258736874 发表于 2021-6-7 22:12
我不太理解你所说的,因为我发现我改后的代码输入错误以后,依然会执行循环,即重新输入,能请你详细解释 ...
这得看你整个代码的布局,只看你改了那一部分的话我也不知道具体情况,不过既然能够实现那自然也是可以的。 啊啊啊,我在看了看,明白你的代码了,你的代码能够实现重新输入,虽然看起来结果是一样的,但是过程和答案是截然不同的。小甲鱼的答案双循环中内层的循环保证了只有输入正确才会执行下面的功能。而你的改动则是输入无论是否正确都会进入下面的判断,但是因为后面的处理是如果输入不合法的时候,下面的判断全为非,不会执行条件,然后来到下一次循环后就可以再次输入了。
这里双循环虽然看似更加复杂,但是这也是在后续代码复杂度不高的时候才会与你的结果没什么差别。但如果在输入之后有更复杂的操作和判断及其他的变量处理的话,你的每一次输入错误都会经过后面的阶段直到下一次循环到来的时候才开始再次输入。而双循环则是输入错误,立刻要求再次输入直到正确为止。当输入判断部分之后的代码足够长的时候,你的答案就不具备优势了。
页:
[1]