1、控制流程

# if 判断语句

a = 12
if a>0:
print('a大于0')
if a<5:
print('a大于5')
else:
print('哈哈哈')

2、基本形式:

if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

3、if语句注意事项:

1、判断条件的表达式的值一般为布尔型的值,当值为True就执行里面的语句块。
一般是使用比较运算符或者成员运算符。
2、条件表达式后面接的“:”是语法的一部分不能少。
有了“:”号后,满足条件时要的执行语句以缩进后的形式写在下面。
3、if,elif是写分支条件,当前面的if和elif不满足时就执行else里面的语句。
可以有零到多个elif,else是可选的。
4、语句是从上往下执行的,当前面有条件已经满足了,那么直接执行里面的语句。
后面的条件判断不再执行。

4、常见例子:

a=12
if a>0:
print(a -1)
elif a>5:
print(a-2)
else:
print('哈哈哈')
#if .....else....
b='python' if 'o' in b:
print('is true')
else:
print('is not true') #if ...else...
if b.isupper():
print('hahaha')
else:
print('it is not all upper')
#猜字游戏
import random
a=random.randint(1,10)
n = 0
while n<3:
num=input("请输入一个数字:")
if num.isdigit():
num=int(num)
if num == a:
print('猜对了')
break
elif num>a:
print('大了')
else:
print('小了')
else:
print('输入有误')
n +=1 print('还有%s次机会'% (3-n))
print('这个数是%s' % a)

5、循环

5.1 while循环
break跳出整个循环,并且不会执行else里面的语句
continue 跳出本次循环
else
pass #---------break例子-------- a=2 while True: a = a+1
if a>5:
break
else:
print(a) 输出结果为: 3 4 5

分析:当a=a+1,a=2,a+1=3,不满足a>5,执行else,输出a;继续下一次循环,a=3+1=4,a不满足a>5,输出a,此时a=4,;继续下一次循环,
a=a+1=4+1=5,a不满足a>5,仍然执行else下的语句,输出a,也就是5;再进入下一次循环,a=a+1=5+1此时a=6,满足a>5,执行bread,
跳出while循环,终止程序继续执行。


#-------------continue列子--------------------

a = 2
while True:
a = a+1
if a<10:
print(a)
print('continue终止本次循环输出')
continue
elif a>20:
print(a)
print('break终端程序输出')
break 输出结果为: 3
continue终止本次循环输出
4
continue终止本次循环输出
5
continue终止本次循环输出
6
continue终止本次循环输出
7
continue终止本次循环输出
8
continue终止本次循环输出
9
continue终止本次循环输出
21
break终端程序输出
>>> 由上面输出可以发现continue是终止本次循环,而break直接终止整个程序运行
5.2 for 循环,for迭代
range() range(0,100,2) for i in range(10):
print(i) 输出结果: 0
1
2
3
4
5
6
7
8
9
>>> for i in range(1,10,2):
print(i) 输出结果: 1
3
5
7
9
>>> 小结:对于for循环对一个列表或者字符串中的元素进行一一取值,然后再赋值,最后处理(这里是输出);range内置方法用两个数字时(range(x,y)),表示从第一个数字
(包含第一个数字)开始,到第二个数字(不包含)结束;如果有三这个数字(range(x,y,n)),则第三个数字是间隔数,即本次取值与上次之间隔n个数字.

6、关于if....if与if...elif之间的区别

a =12

if a>5:

    print('a大于5')
elif a>10:
print('a大于10') elif a>11:
print('a大于11') 输出结果如下: a大于5
>>> a =12 if a>5:
print('a大于5') if a>10:
print('a大于10') if a>11:
print('a大于11') 输出结果如下: a大于5
a大于10
a大于11
>>> 总结:经过上述对比可以发现if....if语句运行时,会将匹配条件一条一条的去匹配,他们之间没有必然的关联,换句话说少了前面的if后面的if可以独立运行;而if...elif语句结果中,
elif和if是有关联的,少了前面的if后面的elif是无法独立运行的,所以if---elif条件下的elif是if的进一步判断,当if和elif两者同时满足只会执行最前面满足的条件。一个if语句
中可以包含多个elif语句,但结尾只能有一个else语句.

分数查询例子:

while True:
score = input("请输入你的分数(q退出):")
if score == 'q':
break
_score =score.replace('.','',1) ---->解决用户输入小数时的问题
if _score.isdigit():
score = float(score) ----------->将输入字符串转换成浮点型
if 90 <= score <=100:
print('成绩为:A')
elif 80<=score<90:
print('成绩为:B')
elif 60<=score<80:
print('成绩为:C')
elif 0<=score<60:
print('成绩为:D')
else:
print('输入有误!')
else:
print('输入有误,请重新输入')
通过该例子得出:

多个if和if...elfi的区别是:

多个条件的判断就写多个if,一个条件的多个分支(或者一个条件的多种情况)用elif.

关于循环中的else和break的关系:

break在循环中的作用是:当循环中某个条件满足时执行break动作从而结束程序运行(即终止循环);else用在循环中的作用是:在循环中的条件不满足,退出循环时执行else里面的语句。
python中,可以在while和for循环中使用else子句,它只是在循环结束之后才会被执行,如果同时使用了break语句那么else子句块会被跳过。所以注意else子句和break语句不能同时使用!

流程控制语句if、else、elif、break、continue的更多相关文章

  1. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  2. shell编程--流程控制for,do-while,if-then,break,continue,case等

    2.5 流程控制 2.5.1 if语法 1.语法格式 if condition then     statements [elif condition     then statements. ..] ...

  3. shell编程(四)之循环控制语句(for,while,until,break,continue,case)

    for循环 语法:for NAME in LIST; do 循环体 done 列表生成方式:1.整数列表 {start...end} $(seq,[start [step]] end)2.glob / ...

  4. 流程控制语句(if、for、while、do while、switch、 break、continue)

    3:流程控制语句    (1)顺序结构 从上往下,依次执行    (2)选择结构    按照不同的选择,执行不同的代码    (3)循环结构 做一些重复的代码 4:if语句    (1)三种格式   ...

  5. 基础语法-其它流程控制语句break和continue

    基础语法-其它流程控制语句break和continue 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.break语句 /** * break语句 * @author 尹正杰 * ...

  6. JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结

    JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...

  7. PHP流程控制语句(if,foreach,break......)

    背景:PHP程序中,必不可少的要用到流程控制语句.这次对于流程控制语句进行一些总结. 条件控制语句和循环控制语句是两种基本的语法结构,它们都是用来控制程序执行流程.也是构成程序的主要语法基础. 一.程 ...

  8. 流程控制语句continue

    continue语句 用于结束当前循环,进入下一次循环,同样通常与if分支结构一起使用 (这边和前面的break可以结合在一起与C中的一样的理解) 注意这个不是终止整个循环只是终止当前循环进行下一次循 ...

  9. Java流程控制:增强for循环,break&continue,打印99乘法表

    增强for循环:java5引入了一种主要用于数组或集合的增强for循环for(声明语句:表达式){//代码句子} 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配.其作用域限定在循环语 ...

  10. java控制语句 if-else while do-while for return break continue goto switch default

    if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...

随机推荐

  1. zabbix web监控模板

    问题关键:宏变量 {HOST.NAME} 配置 我直接在 Linux OS这个模板中添加的,都随意: 效果 加个报警 以上.

  2. 微信跳一跳辅助自动跳Python

    一.说明 此代码借鉴github一位大神所写,已经做了简化合并处理,如果能成功连上手机并运行,可以实现程序自动玩游戏,刷个1000+的分数轻轻松松 github源码地址 https://github. ...

  3. C# log4net 的配置

    项目的日志组件是必备可少的,任何项目中都需要.这样既方便前期的开发测试也方便项目后期的项目维护.C#项目的一个不错的日志组件是log4net,下面我就把桌面应用程序.控制台程序.网站中log4net的 ...

  4. Python开发之路

    详细内容见老男孩<<python入门与提高实践>> 第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面 ...

  5. [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

    1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误, ...

  6. Linux 文本处理工具(grep sed awk )

    ^test: 以test开头; test$: 以test结尾: ^$: 表示空行,不是空格: . :代表且只代表任意一个字符(其他功能:当前目录,加载文件): \ : 代表转义字符,表示特殊字符: * ...

  7. Running Solr in Docker

    Docker现在越来越火,所有的应用程序都想Docker一下,但是并没有听说在Docker上运行Solr.在没有Docker之前要想使用Solr需要在宿主机安装JDK,安装Tomcat,下载Solr程 ...

  8. 移动端300ms点击延迟

    移动端300ms点击延迟 原因:早期的苹果手机存在点击缩放,用手指在屏幕上快速双击后,iOS自带的Safari浏览器会将网页缩放至原始比例,后来很多浏览器也跟着学了. 解决方法:禁止缩放 <me ...

  9. 数据结构-栈(应用篇)之快速排序法-C和C++的实现

    一.原理解析 快速排序法: 基本思路是,从第一个元素开始,把所有比它大的元素放在它后面,把所有比它小的元素放前面.然后划分它前面和后面的所有元素,分别再做快速排序,直到无法再划分为止. 在以下程序案例 ...

  10. AssertionError while merging cells with xlwt (Python)

    产生这一错误的原因是,行列数字的赋值有问题,三行数字大于下行数字,左列数字大于右列数字. sheet.write_merge(top_row, bottom_row, left_column, rig ...