python死循环_Python 死循环和嵌套循环

何为死循环:在编程中,一个无法靠自身的控制终止的循环被称为死循环。

死循环的使用:死循环并非一无是处,C语言中死循环while true或 while 1 是单片机编程的普遍用法,死循环一直运行等待中断程序发生,然后去处理中断程序。

在Python中,我们也可以利用死循环完成特定功能。

下面这段死循环程序可以用来一直捕捉输入异常。

whileTrue:try:

x=int(input("Please enter a number:"))break

exceptValueError:print("Oops,that was no valid number. Try again ...")

后测循环:

假设程序需要用户输入一个非负数

如果输入错误,重新提示用户输入直到得到一个有效值。

伪代码如下:

重复执行以下语句

接受外部输入数据

直到外部输入为负值为止

循环不断接收输入,直到接受到合法的值为止

条件判断在循环体后面,称之为后测循环(即前面提到过的“直到型循环”)

后测循环至少执行一次循环体

后测循环实现:

Python没有后测循环语句,但可以通过while间接实现。

思想是设计一个循环条件,直接进入循环体,循环至少执行一次,相当于后测循环。

number=-1

while number<0:

number=eval(input("Enter a positive number:"))

break语句也可以用来实现后测循环:

whileTrue:

number=eval(input("Enter a positive number:"))if x>=0:break#如果数字有效则跳出循环

#while语句体永远执行,if条件决定循环退出

另外:if语句体只包含一个语句时,break可以跟在if同一行。这种结构被称为循环出口。

#后测循环代码1:

在前面的while版本的后测循环代码中添加一个if语句,使得在有效输入时不显示警告。

修改代码如下:

number=-1

while number<0:

number=eval(input("Enter a positive number:"))if number<0:print("The number you entered was not positive")

在上面这段代码中,合法性检验重复了两次。

#后测循环代码2:

限定合法性检验只判断一次,需为if添加匹配的else语句来实现

修改后的代码如下:

whileTrue:

number=eval(input("Enter a positive number:"))if x>=0:break ##如果数字有效则跳出循环

else:print("The number you entered was not positive")

半路循环:运用break中途退出循环,循环出口在循环体中部,被称为半路循环

whileTrue:

number=eval(input("Enter a positive number:"))if x>=0:break #跳出循环

print("The number you entered was not positive")

半路循环-哨兵:半路循环退出实现哨兵循环的一般模式:

While True:

Get next data itemif the item is the sentinel :breakprocess the item

我们注意:break语句是一种很方便的设计,但是,任何算法都可以使用不包含break语句的其他语句来实现

在程序中是否使用break语句,跟个人编程风格有关。

应避免在一个循环体内使用过多的break语句。因为当循环有多个出口的时候,程序逻辑就显得不够清晰了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值