有两种循环在所有的编程语言中都存在,那就是for循环和while循环,他们的使用方式不同,适用范围也不同,但是思路是一样的,今天我们就来学习while循环
一般如果我们确定循环执行的次数,以及知道初始值与终止值和步长,优先使用for循环,不确定次数的情况就使用while循环。
举个例子:小明的学校周三和周五都有体育课,周三体育课上老师要小明围着操场跑5圈,周五的体育课上老师要小明绕着操场跑圈,跑到体育老师指定的位置停下来。
周三体育课小明要跑的是5圈,已经确定的次数,所以我们优先使用for循环。
周五体育课上小明不知道要跑多少圈,跑到老师指定的位置,所以使用while循环。
while循环的格式如下:
C++
while(条件)
{
满足条件执行的代码
}
python
while 条件:
满足条件执行的代码
我们以小明抄写5遍名字为例
C++
#include <iostream>
using namespace std;
int main()
{
int a = 5;
while (a > 0)
{
cout << "小明" << endl;
a--;
}
return 0;
}
python
a = 5
while a > 0:
print("小明")
a -= 1
死循环
死循环是指循环里面的条件一直成立的循环,例如
C++
#include <iostream>
using namespace std;
int main()
{
int a = 5;
while (a > 0)
{
cout << "小明" << endl;
}
return 0;
}
python
a = 5
while a > 0:
print("小明")
上面两段代码中,变量a的值一直没有改变,都是5,所以 “a > 0” 这个条件会一直成立,循环就不会停下来,这种循环称为死循环,使用break可以跳出循环,结束死循环。
例题:猜数字:小明和小红在玩猜数字的游戏,小红想一个数字,小明来猜,如果猜的数比想的数大,小红会说你的数字大了,如果猜的数字比想的数小,小红会说你的数字小了,如果猜对了,小红会说你猜对了。没有猜对之前小明会一直猜下去。请你写一个程序,模拟小明和小红猜数字的流程。
C++
#include <iostream>
using namespace std;
int main()
{
int number, a;
cin >> number;
while (true)
{
cin >> a;
if (a == number)
{
cout << "恭喜你,猜对了" << endl;
break;
}
else if (a > number)
{
cout << "你的数字大了" << endl;
}
else
{
cout << "你的数字小了" << endl;
}
}
return 0;
}
python
number = int(input(""))
while True:
a = int(input(""))
if a == number:
print("恭喜你猜对了")
break
elif a > number:
print("你猜的数字大了")
else:
print("你猜的数字小了")