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的更多相关文章
随机推荐
- go设计模式--单例singleton
创建型第一个,使用TDD作的. singleton.go package singleton type Singleton interface { AddOne() int } type single ...
- java 通过Qrcode生成二维码添加图片logo和文字描述
/** * 二维码创建 * @author yhzm * */ public class printServiceImpl extends BaseService { public void barC ...
- 关于python内open函数encoding编码问题
自己学python的open函数时,发现在pycharm里新建一个file_name.txt文本文件,输入中文保存.再用open(file_name,'r+')打开,再去读写时出现了一些问题.再三控制 ...
- JavaScript中随机打乱一个数组
JavaScript中随机打乱一个数组 function shuffle(arr) { let i = arr.length; while (i) { let j = Math.floor(Math. ...
- WPF 精修篇 DataGrid 数据源排序
原文:WPF 精修篇 DataGrid 数据源排序 效果 <DataGrid x:Name="datagrid" ItemsSource="{Binding Ele ...
- SQL查询--关于查询的练习题
下面的练习题出自LeetCode:https://leetcode-cn.com/problemset/database/,有兴趣的可以去上面刷刷题 练习题1:超过经理收入的员工 分析: 使用sql ...
- jenkins传统模式发布istio应用
一.发布金丝雀版本 Pre Setps cd /var/lib/jenkins/workspace/istio-service-user-canary/istio-service-user # 旧版本 ...
- PHP JWT token实现
原文链接:https://www.jb51.net/article/146790.htm 机制: 代码如下: <?php /** * PHP实现jwt */ class Jw ...
- 【51Nod1584】加权约数和(数论)
[51Nod1584]加权约数和(数论) 题面 51Nod 题解 要求的是\[\sum_{i=1}^n\sum_{j=1}^n max(i,j)\sigma(ij)\] 这个\(max\)太讨厌了,直 ...
- hive 标准hql建表语法格式
一.标准hql建表语法格式1.官方标准语法:(hql不区分大小写,下面[]里的属性是可选属性) 具体参考官网界面:HIVE官网建表说明文档 CREATE [EXTERNAL] TABLE [IF NO ...