我理解while循环是如何工作的,它首先运行代码然后检查条件。
&while; while while循环'是什么?还有现实生活中的例子吗?
谢谢
答案 0 :(得分:2)
你几乎在第一行回答了你自己的问题。但是,使用像Python这样没有do-while
循环的语言来查看备选方案是有益的。主要区别在于while
循环在执行正文之前检查其条件,而do-while
循环在正文之后检查条件。 Python的一般语法不允许第二种,因为没有办法(我真的可以想到)将一行代码附加到缩进块的 end 。
一个典型示例是验证输入值,您要在其中读取第一个值,根据某些条件对其进行验证,然后在验证失败时继续请求新值。在伪Python中,它可能看起来像
do:
x = input("Enter yes or no")
while x not in ("yes", "no")
但是,Python 没有具有任何此类构造,因此您要么重复输入并使用while
循环:
x = input("Yes or no")
while x not in ("yes", "no"):
x = input("Yes or no")
或者你写一个带有显式if
语句的“无限”循环来突破:
while True:
x = input("Yes or no")
if x in ("yes", "no"):
break
答案 1 :(得分:1)
真实世界的例子,
去洗手间:
DO {
Check_Door_Lock();
} WHILE (WAIT_WHILE_DOOR_IS_LOCKED());
循环完成后,WAIT_WHILE_DOOR_IS_LOCKED()返回一个false值,因此它不再被锁定,因此,整个循环结束。
答案 2 :(得分:1)
基本上while和do-while之间的唯一区别是while循环在进入循环之前检查循环测试条件,do-while循环在循环执行后检查循环测试条件,两者都有效地具有相同的结果,除了do-while保证至少执行一次循环。
如果您希望代码将某种菜单输出到屏幕以便保证菜单显示一次,那么Do-while循环有时很有用。
示例:
int data;
do
{
cout << "Enter 0 to quit: ";
cin >> data;
cout << endl << endl;
} while (data != 0);
你也可以使用while循环完成同样的事情。唯一的区别是您必须将变量初始化为一个不会阻止输入while循环的值。
int data = 1;
while (data != 0)
{
cout << "Enter 0 to quit: ";
cin >> data;
cout << endl << endl;
}