流程控制(二)

循环结构

while + else 循环结构

# while + else 循环是指在while循环体正常运行(while子代码中无break命令)至结束后,运行另一方向的命令,即else的子代码。
具体形式:
while 判别条件:
判别条件成立时执行的子代码
else
判别条件不成立时执行的子代码
例:
count = 1
while count < 10: # 当count小于10时,进入循环
print(count)
count += 2
else: #当count不小于10时,执行else代码块
print('end')
# 如果while循环体不正常结束的时候,else的子代码块不会运行
count = 1
while count < 10: # 当count小于10时,进入循环
print(count)
count += 2
if count > 6:
break
else: #当count不小于10时,执行else代码块
print('end')

死循环

# 可以无休止运行,并且无法结束的循环
例:
count = 0
while True: # 判断条件永远为True,无限循环
print('count')
count += 1

while嵌套

# while 嵌套是指while的循环体内出现一层或几层while循环
例:
while True:
name = input('name:')
password = int(input('password:'))
if name == 'oliver' and password == 321:
print('success in')
while True:
order = input('order:')
if order == 'y':
print('nice')
break
break
else:
print('name or password is wrong')
if order == 'y'
print('nice')
break
break
else:
print('name or password is wrong')

for 循环

  for 循环一般用于循环取值的情况,此类问题下for循环比while循环更简单。for循环的使用频率率也比while循环高。不过需要注意的是for循环能做的while循环都能完成,而有些while循环可以做的,for循环并不能很好地完成。

具体形式:
for 变量名 in 循环对象: 循环对象可以是字符串、列表、元组、字典、集合
循环体:
for循环体每次都会将循环对象中的一个元素赋值给变量名
例:
list = ['oliver', 'chance', 23, 'eat']
for i in list:
print(i)

for 循环字符串

# for 循环对象为字符串时,功能为依次提取字符串里的每个字符
例:
for i in 'nice done':
print(i)

for 循环列表、元组

# for 循环对象为列表或者元组时,功能为依次提取其中的每一个元素
例:
list = [11, 22, 33, 44, 55]
tup = (11, 22, 33, 44, 55)
for i in list:
print(i)
for n in tup
print(n)

for 循环字典

# for循环对象是字典的话,功能为依次提取其key键名,无法直接获得真实数据
例:
dic = {'name':'oliver', 'age':'19', 'gender':'male'}
for i in dic:
print(i)
# for循环对象是集合的话,功能为提取其元素,但是由于集合内元素是无序的,所以输出信息并不是我们肉眼看到元素次序
例:
set = {11, 22, 33, 44, 55}
for i in set:
print(i)

for 循环补充

for + break 结束本层for循环

例:
list = ['laugh', 'happy', 'sad', 'cry']
for i in list:
print(i)
break

for + continue 结束本次for循环

例:
for i in [11, 22, 33, 44, 55]:
if i == 33:
continue # 跳出本次循环,执行下一次循环
print(i)

for + else

# for循环正常结束(循环体无break打破循环)后执行else子代码
例:
for i in [11, 22, 33, 44, 55]:
print(i)
else: # for循环正常结束,执行下一步else子代码
print('end')
# for循环非正常结束(循环体内break打破循环)后不再执行else子代码
例:
for i in [11, 22, 33, 44, 55]:
print(i)
break # 结束循环,执行下一步for的同级代码
else: # for循环非正常结束,else子代码不再执行
print('end')

for 循环嵌套

  在这里用构建乘法表的问题来解释嵌套问题。

for i in range(1, 10,):
for j in range(1, i+1,):
z = i * j
print('%s*%s=%s' %(i, j, z), end=' ')
print(' ')

range关键词

  range关键字的主要作用就是生成一个元素区间为左闭右开的列表

range关键字在python2.x版本和python3. x版本的差别

  • python2.x版本中的range关键字作用是生成一个存在的列表,会生成在内存空间内,数据较多时比较占用空间
  • python3.x版本中的range关键字作用是生成一个不存在的列表,不过生成的列表内部数据可以访问,并且数据量比较大时,不占用空间
  • python2.x版本中的xrang关键字的作用相当于python3.x版本的range关键字

range关键字的用法(常与for连用)

  1. 循环输出0——20这样的一组数据,括号内只有一个数字时,默认从0开始
for i in range(21): # 循环访问0——20,,并且循环赋值给 i
print(i)
  1. 指定区间进行循环输出,括号内有两个数,分别是列表元素的区间的上、下界
for i in range(14, 21): # 循环访问14——20,,并且循环赋值给 i
print(i)
  1. 在指定区间内指定间隔循环输出,括号内有三个数,分别是列表元素区间的上、下界和间隔数
for i in range(3, 21, 3): # 循环访问3——20,每次访问中间间隔为3,并且循环赋值给 i
print(i)
posted @   Oliver-Chance  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示