带条件的循环语句 - while


带条件的循环。 while
语句 研究for循环,我们说过,如果已知任何动作的重复次数,那么就可以使用for循环运算符来缩短程序。但是,如果重复次数未知怎么办?这种情况经常发生。
 
例子
记住一个数字从十进制数字系统到任何其他数字系统的转换,我们需要将数字(然后是除法的结果)除以数字系统的底数,直到我们在答案中得到零。我们将共享多少次未知。并且有相当多的程序实现了这样的算法。 

如果不知道确切的迭代次数,如何实现算法?

对于这种情况,在编程中有一个带条件的循环语句。 
在 Python 编程语言中,条件循环语句以单词 while 开头,并具有以下结构。
while (
{
 循环体
}

我们已经知道:
- condition 是一个表达式,可以计算为 true 或 false(如在条件语句中);
- loop body 是要重复的命令,它们是缩进的。

运营商是如何运作的?
1. 首先,程序计算单词 while 后方括号中的条件。如果满足条件 (true),则程序执行循环体中包含的语句。
2.循环体执行完成后,程序返回检查条件,再次检查。
3. 重复这些动作(检查条件-执行循环体)直到条件变为假。
4.如果在第一次执行这条语句时条件没有立即满足(假),那么程序永远不会执行循环体。

分析这个运算符的工作,应该清楚循环体必须包含一个影响条件的运算符。
例如,在循环中,条件中使用的变量的值可能会递增。

我们将称之为“静默计数”的程序示例。
让程序代替我们来计数,例如,最多 10。
该程序应输出短语“Start”和“Finish”,并在这些操作之间显示正在计算的数字。

例如,像这样:
开始
1 2 3 4 5 6 7 8 9 10
完成

使用 while 循环的程序如下所示: 使用系统; 类程序{    静态无效主要(){         Console.WriteLine("开始");        诠释我= 1;         while (i <= 10) {            控制台.WriteLine(i);            我++;         }         Console.WriteLine("完成");     } 在这个程序中,我们给变量i = 1赋值——起点。
此外,只要变量 i 的值不大于(即小于或等于)我们需要的值,我们:
 1) 显示变量i的值;
 2) 将 i 变量的值增加 1 - 此运算符影响括号中条件的值。变量 i  递增,这意味着在某个时候条件 i <= 10 将变为假。这将在 i 等于 11 时发生。在这种情况下,循环体将不再执行,程序将执行循环后的下一条语句,即  Console.WriteLine("Finish")

让我们尝试编写一个程序来解决以下问题: 你需要输入一个数字并确定其中的位数。

解决思路。
我们只需要依次从数字中截去最后一位(这可以通过将数字减少 10 次,使用整数除以 10 来完成),每次我们都需要增加计数器。 
这样一来,我们截掉所有数字后,计数器就会存储数字中的位数。
换句话说,该算法可以表述如下: 当数字不等于 0 时,将其减少 10 倍并将计数器增加 1。
<头> <正文> 程序看起来像这样: <前> ... 静态无效主要() { int n = Convert.ToInt32(Console.ReadLine()); 整数计数 = 0; 而(n!= 0) { 计数++; n = n / 10; } } 你需要很好地了解和理解这个程序,因为许多其他任务与数字计算有关一个数字。

数 (n) 计数器
123 0
12 1
1 2
0 3

任务

程序的输入是数据流—以零结尾的整数序列(零不包含在序列中)。 你需要找到这个序列的元素的总和。
 
求解算法
<前> 总和=0 input x // 输入第一个数字 while x != 0 // 条件中设置了输入结束标志,  nc // 也就是说,直到您输入零    sum = sum + x // 你可以用原始数字做一些事情。 // 您可以为某些条件添加数字检查等。    input x // 输入下一个数字 节 print sum //结果输出