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的更多相关文章
随机推荐
- ifconfig|grep eth0|awk '{print $5}' 命令详解
因需要将linx下获取某个网中的MAC地址,可以使用如下命令获取: ifconfig|grep eth0|awk '{print $5}' ifconfig: 输出linux下所有网口的信息(包括IP ...
- A Neural Influence Diffusion Model for Social Recommendation 笔记
目录 一.摘言 二.杂记 三.问题定义和一些准备工作 四.模型真思想 五.实验部分 六.参考文献 一.摘言 之前协同过滤利用user-item交互历史很好的表示了user和item.但是由于用户行为的 ...
- 实操《kubernetes网络权威指南》之tun设备
跟着网上作一次,OK的. tun.c #include <net/if.h> #include <sys/ioctl.h> #include <sys/stat.h> ...
- 面向对象程序设计(JAVA) 第14周学习指导及要求
2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2) 学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...
- uva 10189 扫雷
简单的输入 判断周围上下左右组合的八个方向的雷 然后输出 代码 #include <iostream> #include <memory.h> using namespace ...
- PHP 的异步并行和协程 C 扩展 Swoole (附链接)
PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列, ...
- IT兄弟连 HTML5教程 HTML和CSS的关系
HTML是描述网页的标记语言,是将内容放到网页上,虽然HTML本身也自带一些样式功能,通过自身的属性,来实现一些特定的效果,制作出来的只能是一个网页,而不是一个美观的网页.最主要的是在HTML里面,一 ...
- hive引擎的选择:tez和spark
背景 mr引擎在hive 2中将被弃用.官方推荐使用tez或spark等引擎. 选择 tez 使用有向无环图.内存式计算. spark 可以同时作为批式和流式的处理引擎,减少学习成本. 问题& ...
- 来认识一下venus-init——一个让你仅需一个命令开始Java开发的命令行工具
源代码地址: Github仓库地址 个人网站:个人网站地址 前言 不知道你是否有过这样的经历.不管你是什么岗位,前端也好,后端也罢,想去了解一下Java开发到底是什么样的,它是不是真的跟传说中的一样. ...
- 【51Nod1584】加权约数和(数论)
[51Nod1584]加权约数和(数论) 题面 51Nod 题解 要求的是\[\sum_{i=1}^n\sum_{j=1}^n max(i,j)\sigma(ij)\] 这个\(max\)太讨厌了,直 ...