python怎么控制while循环_Python流程控制-while循环-for循环

写重复代码 是可耻的行为

-------------- 完美的分割线 --------------

程序在一般情况下是按顺序执行的,编程语言提供了各种控制结构,允许更复杂的执行路径。

循环(loop)用于解决重附代码的问题

循环语句允许我们用简单的方法执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式

1211667-20180806204241853-1391640941.png

1.循环类型

1.1.循环分类

1)根据循环次数分类

有限循环(次数限制)

无限循环(死循环)

2)根据语法可以分为以下类型:

Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型描述

在给定的判断条件为 true 时执行循环体,否则退出循环体。

重复执行语句

你可以在while循环体中嵌套for循环

1.2.循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

控制语句描述

在语句块执行过程中终止循环,并且跳出整个循环

结束本次循环,进入下次循环

pass是空语句,是为了保持程序结构的完整性。

注意:

shell脚本里用break2可以跳出2层循环,但python不可以,这不是好语法,会造成语义混乱

2.while循环

2.1.while循环语法

Python 编程中 while循环是指在某条件下,重复执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while判断条件:

执行语句……

执行语句可以是单个语句或语句块。

判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。

执行流程图如下:

1211667-20180806210414972-342071495.png

# 实例1:循环打印0-100

count =0while count <= 100:print("loop",count)

count+= 1

print("-------end-------")

# 实例2:打印100以内的偶数

count =0while count <= 100:if count % 2 == 0: #除以2余数为0的数

print("loop",count)

count+= 1

print("-------end-------")

# 实例3:第50次不打印,第60-80打印对应值的平方

count =0while count <= 100:if count == 50:pass #过

elif count >= 60 and count <= 80:print(count*count)else:print(count)

count+= 1

print("-------end-------")

2.2.死循环(无限循环)

语法:

whileTrue:

执行代码...

# 实例1:死循环

count =0whileTrue:print("forever",count)

count+= 1

2.3.循环终止语句

break 完全终止循环

continue 终止本次循环,跳过本次循环

exit() 任意位置退出程序

# 实例1:break退出循环

count =0while count <= 100:print("loop",count)if count == 5:breakcount+= 1

print("-----out of while loop-----")

# 实例2:玩猜年龄3次就退出了

age = 26count=0while count < 3:

age_guess= int(input("猜猜年龄:"))if age_guess ==age:print("猜对了!")break

elif age_guess

count+= 1

# 实例3:玩猜年龄3次后问是否还要玩

age = 26count=0while count < 3:

age_guess= int(input("猜猜年龄:"))if age_guess ==age:print("猜对了!")break

elif age_guess

count+= 1

if count == 3:

again= input("还想玩吗[y]:")if again == 'y':

count=0else:

exit('byebye')

2.4.python中while的特殊语法

语法:

while...else语句

while循环正常执行完,中间没有被 break 中止,就执行else语句

推论:没有看到else后面的语句就说明循环被中断过

else 作用:可以让你知道你的程序中间是否被break过

# 实例1:while...else正常执行完

count =0while count <= 5:

count+= 1

print("loop",count)else:print("循环正常执行完了")print("-------end-------")

返回结果如下:

loop 1loop2loop3loop4loop5loop6循环正常执行完了-------end-------

# 实例2:while...else被break打断

count =0while count <= 5:

count+= 1

if count == 3:print('终止循环')break

else:print("loop", count)else:print("循环正常执行完了")print("-------end-------")

返回结果如下:

loop 1loop2终止循环-------end-------

总结经验:

不用非要从语义理解记忆,将while...else作为一组语句,正常语法执行完上面的while循环就执行下面的else语句,while循环被break终止就不执行下面的语句

3.for循环

3.1.for循环语法

Python的for循环用于遍历任何序列中的对象,如列表或字符串

for iterating_var insequence:

statements(s)

流程图:

1211667-20180806213859155-425486342.png

3.2.for循环实例

# 实例1:打印0到10之间的奇数

方法1:for循环加if判断,比较复杂

for i in range(10):if i % 2 == 1:print(i)

方法2:步长,简单高效

for i in range(0,10,1):print("loop:",i)

# 实例2:打印0到10之间的偶数,隔2个打印:02468

for i in range(0,10,2):print("loop:",i)

# 实例3:从0打印到10之间的,隔3个打印:0369

for i in range(0,10,3):print("loop:",i)

# 实例4:猜数字,只能猜3次,猜对就退出,猜不对就退出

num = 26

for i in range(3):

guess_num= int(input("Please input your num:"))if guess_num ==num:print("yes,you got it!")break

elif guess_num >num:print("please guess smaller...")else:print("please guess bigger...")else:print("You have tried too many times")

只要上面的for循环正常执行完毕,没被打断,就会执行else的语句

如果遇到break被打断则不走else的,因为break下面的代码不执行

遇到continue后else的代码是会执行的

# 练习:写一个登录程序,连续输错3次用户名或密码则退出。

_user = input("username:")

_passwd= input("password:")for i in range(3):

i_user= input("input username:")

i_passwd= input("input password:")if i_user == _user and i_passwd ==_passwd:print("Welcome login %s" %_user)break

else:print("Invalid username or passord!")

-------------- 完毕,呵呵呵呵 ---------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值