数据挖掘与数据分析:基于R语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.3 while循环

while循环是另一种经典的循环语句,它与for循环有一定的相似之处,二者之间可以相互转换,其语法如下:

其中cond是判断条件,当判断条件为真时,expr将开始执行,expr执行结束时将重新判断条件,若判断条件依旧为真,expr继续执行,以此类推,直到判断条件为假时循环结束。我们来看一个具体示例:

在该例子中,我们首先定义变量x7,并将其赋值为1。由于while循环体的判断条件为x7<6,因此print(x7)和x7=x7+1会循环执行直到x7≥6为止。

相比于for循环,while循环更适合循环次数不确定的情况。由于while循环可能陷入无休止的循环,因此当循环体内的函数符合某种条件时,需要借用break语句跳出循环,我们来看下面的示例:

上述示例展示了使用while循环登录银行账户的过程。readline()函数是一种实现人机交互的函数,用户通过输入自定义信息给变量cardID和password赋值。只有当用户输入的银行卡号和账号密码符合循环体中函数的设定值时,用户才能成功登录账号,此时由于不知道用户要尝试多少次,即不知道循环将进行多少次,因此更适合用while循环编写程序。

需要注意的是,while循环中的break语句非常关键。当用户输入了正确的银行卡号和账号密码时,程序不仅要提示用户登录成功,还要跳出信息输入的循环体,此时便要用到break语句。break语句用于结束当前循环并跳出整个循环体,若没有break语句,则用户即使输入了正确的信息还会被要求继续输入,即while循环将陷入无休止的循环,由此可见while循环中break语句的重要性。