day4_7.2
流程语句
1.if判断语句
在python中if语句可以依据判断的条件,决定执行哪个语句。其格式如下:
if 条件:
代码1
else:
代码2
当满足条件1时,执行代码1,否则执行代码2。所以条件语句输出的值的数据类型是布尔型。
其中else不能单独作为一串代码使用,需要配合if或者while循环语句来使用。当然,上述代码只能使用两个语句之间的抉择,如果没有执行if语句,那就会执行else语句,想反,如果执行了if语句,就不会执行else语句。
当程序需要多个语句之间进行抉择时,需要if-elif-else语句来实现。下面用一个判断分数的算法进行举例:
while 1:
achievement=input("请输入你的成绩:")
if int(achievement)>=90:
print('优秀')
elif int(achievement)>=80 and int(achievement)<90:
print('良好')
elif int(achievement)>=70 and int(achievement)<80:
print('普通')
else:
print('很差')
python使用换行缩进的方法分割代码,在同一缩进行的代码会被同步执行,
2.while循环
while循环的格式是:
while 条件:
代码
当条件成立时,代码就会一直执行,直到条件不满足为止。所以在编写时避免死循环的出现。
当循环没有达到但不需要再执行下去时,可以设置判断条件,使用break中断函数中断所包含的循环。
当达到某一条件时需要跳过本次循环时,可以使用continue函数。
如果不使用break函数时,也可定义标记变量flag,当满足判断条件时,将flag置反,在随后的代码快进行判断,如
i=1
while i<11:
if i==4:
i += 1
continue
else:
print(i)
i += 1
如上函数中,输出了1-10的整数,当i为4时不给予输出,使用了continue函数。
在while也能使用while-else语句,其设定是当while循环正常结束时,则执行else中的语句,否则不执行。如下
i=1
while i<11:
print(i)
i+=1
else:
print('结束')
运行结果最后会输出结束,而使用break中途截断输出时,不会执行输出结束的语句,如:
i = 1
while i < 11:
if i==4:
i+=1
break
print(i)
i += 1
else:
print('结束')
3.for循环语句
for循环与while循环中不同的是不依赖与索引取值,所以它的固定语法是
for i in 容器列表
代码1
当开始循环时,i从容器中取值,赋予i中,所以在编程中进常使用range作为容器。
当然,在python2和python3中range的定义有所不同,在python2中,range所指向的数据类型是list以列表的形式存在,而在3中就是range类型的,在2中这种类型有替代物wrange,其输出的类型也是wrange。
(ps:对于各个容器,可以使用len()函数取其长度的值。)
在使用range(1,4)中时要注意的时它是一个左闭右开的集合,即输出1-3的值。
在字典中使用for循环对其打印时,打印的是其key值,如
info={'name':'lzx','age':'','sometime':'learn'}
for i in info:
print(i)
运行结果为 name age sometime。可以看到i获取的值其实是字典里的key值。所以要想获得value还需使用info[i]打印。
for也能与else联用,当for循环正常运行结束时,会执行最后的else语句,否则不执行。
day4_7.2的更多相关文章
随机推荐
- Java流程控制之选择语句
选择语句 选择语句也称之为判断语句,主要有2种写法,一种是if语句,一种是switch语句.下面我们就详细的介绍一下这2种语句的用法. 判断语句if if语句第一种形式: if 格式: 执行流程 首先 ...
- maven help 插件
maven help 插件 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...
- 剑指Offer-36.数字在排序数组中出现的次数(C++/Java)
题目: 统计一个数字在排序数组中出现的次数. 分析: 给定一个已经排好序的数组,统计一个数字在数组中出现的次数. 那么最先想到的可以遍历数组统计出现的次数,不过题目给了排序数组,那么一定是利用了排序这 ...
- matlab练习程序(螺线拟合)
这里待拟合的螺线我们选择阿基米德螺线,对数螺线类似. 螺线的笛卡尔坐标系方程为: 螺线从笛卡尔坐标转为极坐标方程为: 阿基米德螺线在极坐标系下极径r和极角theta为线性关系,方程为: 计 ...
- 手把手教你如何用 OpenCV + Python 实现人脸检测
配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like Haar-like百科释义.通俗的来讲 ...
- spring-boot-starter-web排除自带的logback依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- laravel中控制器的创建和使用(五)
laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件. php artisan make:controller TestController TestController 控制器 ...
- WCF全双工通信实例分享(wsDualHttpBinding、netTcpBinding两种实现方式)
最近在研究WCF通信,如果没有接触过的可以看我的前一篇文章:https://www.cnblogs.com/xiaomengshan/p/11159266.html 主要讲的最基础的basicHttp ...
- linux tmux用法
1. 安装工具 Centos : yum install tmux 2. 基本操作 新建会话:tmux new -s session-name 查看会话:tmux ls 进入会话:tmux a -t ...
- oracle 利用序列与触发器实现列自增
实现步骤:先创建序列,后创建触发器 1.创建序列 create sequence 序列名 increment start maxvalue ; 2.创建触发器 create or replace tr ...