编程语言中的流程控制语句分为以下几类:
  • 顺序语句
  • 分支语句
  • 循环语句
其中顺序语句不需要单独的关键字来控制,就是一行行的执行,不需要特殊的说明。这里主要要说的是 分支语句 和 循环语句
条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager:
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
if判断条件还可以简写,比如写:
if x:
print('True')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
最后看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:
birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
输入1982,结果报错:
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: str() > int()
这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'abc'
原来int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。
循环
循环是让计算机做重复任务的有效的方法。
while 判断条件: 代码块 else: 代码块
else中的代码块会在while循环正常执行完的情况下执行,如果while循环被break中断,else中的代码块不会执行。
循环控制语句可以更改循环体中程序的执行过程,如中断循环、跳过本次循环。
循环控制语句
说明
break
终止整个循环
contine
跳过本次循环,执行下一次循环
pass
pass语句是个空语句,只是为了保持程序结构的完整性,没有什么特殊含义。pass语句并不是只能用于循环语句中,也可以用于分支语句中。
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句
基本形式
for循环的基本格式:
for 临时变量 in 可迭代对象: 代码块
实例:遍历打印一个list中的元素
names = ['Tom', 'Peter', 'Jerry', 'Jack']
for name in names:
print(name)
对于序列,也通过索引进行迭代:
names = ['Tom', 'Peter', 'Jerry', 'Jack']
for i in range(len(names)):
print(names[i])
执行结果:
Tom Peter Jerry Jack
for...else
与while..else基本一致,不再赘述。
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。
n = 1
while n <= 100:
if n > 10:# 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
可见break的作用是提前结束循环。
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n < 10:
n = n + 1
print(n)
上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用continue语句跳过某些循环:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。
练习
count = 0
while count < 3:
guess_age = int(input("age:"))
if age == guess_age:
print("you are righit")
break
elif guess_age > age:
print ("age is big")
else:
print ("age is sall")
count += 1
if count == 3:
info = input("you is guess:")
if info != 'n':
count = 0
age = 50
for count in range(3):
guess_age = int(input("age:"))
if age == guess_age:
print("you are righit")
break
elif guess_age > age:
print ("age is big")
else:
print ("age is sall")
count += 1
else:
print ("guess_age to many!!!!!!,fuck off")
for i in range(0, 10, 2): x,y,step(步长,默认是1)
print("loop", i)
循环嵌套是指:在一个循环体里面嵌入另一循环。
实例1:通过while循环打印99乘法表
j = 1
while j <= 9:
i = 1
while i <= j:
print('%d*%d=%d' % (i, j, i*j), end='\t')
i += 1
print()
j += 1
实例2:通过for循环打印99乘法表
for j in range(1, 10):
for i in range(1, j+1):
print('%d*%d=%d' % (i, j, i*j), end='\t')
i += 1
print() j += 1
输出结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

转载于:https://www.cnblogs.com/centos-python/articles/8520460.html

python 条件判断和循环相关推荐

  1. Python条件判断和循环,range()函数

    条件判断经常使用if语句进行判断,表达方式为:if 条件语句:      :elif:else if...用于执行第一条不满足if的判断,继续执行其它的判断.比如一个简单的if判断 Python3取消 ...

  2. Day02,Python条件判断及循环

    一.条件判断 1.if-else- if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: ...

  3. python 动态执行条件判断_【人生苦短,我学 Python】基础篇——条件判断与循环语句(Day12)_不积跬步,无以至千里!-CSDN博客...

    原文作者:AI 菌 原文标题:[人生苦短,我学 Python]基础篇--条件判断与循环语句(Day12) 发布时间:2021-02-08 23:17:06 写在前面:大家好!我是[AI 菌],一枚爱弹 ...

  4. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行

    Python时间序列模型推理预测实战:时序推理数据预处理(特征生成.lstm输入结构组织).模型加载.模型预测结果保存.条件判断模型循环运行 目录

  5. python重复元素判定编程_从零开始学Python编程四:条件判断与循环

    前面已经介绍了不少Python基础知识,大家不要觉得不耐烦,想要学好Python,做好Python开发,一定要打牢基础.大家也发现了,Python中很多基础知识和数学算法是一样的,比如今天要教给大家的 ...

  6. python循环数组判断,python的数据类型、数组、条件判断、循环的基础知识

    一.数据类型 最常见的数据类型有:整型(int),浮点型(float),字符串(strs).例如: #整型 a=8   #浮点型 b=8.0  #字符串 c='hello world'. 数据类型的转 ...

  7. python条件输出_python基础(二)条件判断、循环、格式化输出

    继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...

  8. python指定条件分类输出_python基础(二)条件判断、循环、格式化输出

    继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...

  9. 怎样跳出Python条件语句 继续判断下一个条件语句_Python条件判断、循环与迭代...

    昨天学完了数据类型,那么今天学习什么鸭? 惨绿青年:今天来学习条件判断.循环和迭代吧. 条件判断 惨绿青年:说条件判断之前,先给你说下前面的布尔值. 我:布尔值咋了,怎么又说它鸭? 惨绿青年:布尔值不 ...

  10. python的判断与循环

    Python的判断与循环 今天主要介绍一下Python中的if判断与循环控制. 本来之前写的标题名字是"Python的流程控制",但是想了想,流程控制又不仅限于条件判断和循环的控制 ...

最新文章

  1. 洛谷P4016 负载平衡问题
  2. 【资源】媲美搜索神器everything,超过1秒出结果算我输!
  3. 深入浅出Android BufferQueue
  4. LeetCode 1602. 找到二叉树中最近的右侧节点(BFS)
  5. 基于Python的ModbusTCP客户端实现
  6. 素数筛选法(埃氏筛 欧拉筛)
  7. flutter框架优缺点_小程序框架全面测评
  8. 21世纪最需要的7种人才
  9. PlaySound error
  10. FastDFS安装手册
  11. nginx的配置——实现网页压缩和图片压缩
  12. 网站备案后服务器更换到家里,域名备案后能更换服务器吗
  13. html调用js自动播放音乐,使用html js实现点击文本和播放音乐的功能
  14. SSL/TLS/DTLS对比
  15. 注意力模型直观理解(Attention Model Intuition)
  16. java游戏 麦克斯 狗,奇幻射击针对兽人BOSS麦克斯的召唤兽用法
  17. TFT-lCD的常见接口介绍
  18. mei yan xiao guo for android
  19. 【计算机毕业设计】023学生宿舍管理系统
  20. 工作组计算机无法打开电子表格,Excel突然出现工作组 是什么原因?

热门文章

  1. 剑指offer最新版_剑指offer第二版速查表
  2. java FileSplit类
  3. Win32汇编——内存映射文件
  4. wrong ELF class: ELFCLASS64
  5. QT之创建计算器(五)
  6. 服务器***处理三则
  7. [10秒学会] - iOS录制屏幕 ReplayKit
  8. 指数有限的子群存在一个右陪集代表元系,同时也是左陪集代表元系
  9. (转)Low-Mid-High
  10. 成功申请MVP,晒晒来自微软的奖品