流程语句

  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的更多相关文章

随机推荐

  1. ifconfig|grep eth0|awk '{print $5}' 命令详解

    因需要将linx下获取某个网中的MAC地址,可以使用如下命令获取: ifconfig|grep eth0|awk '{print $5}' ifconfig: 输出linux下所有网口的信息(包括IP ...

  2. A Neural Influence Diffusion Model for Social Recommendation 笔记

    目录 一.摘言 二.杂记 三.问题定义和一些准备工作 四.模型真思想 五.实验部分 六.参考文献 一.摘言 之前协同过滤利用user-item交互历史很好的表示了user和item.但是由于用户行为的 ...

  3. 实操《kubernetes网络权威指南》之tun设备

    跟着网上作一次,OK的. tun.c #include <net/if.h> #include <sys/ioctl.h> #include <sys/stat.h> ...

  4. 面向对象程序设计(JAVA) 第14周学习指导及要求

    2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2)   学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...

  5. uva 10189 扫雷

    简单的输入 判断周围上下左右组合的八个方向的雷 然后输出 代码 #include <iostream> #include <memory.h> using namespace ...

  6. PHP 的异步并行和协程 C 扩展 Swoole (附链接)

    PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列, ...

  7. IT兄弟连 HTML5教程 HTML和CSS的关系

    HTML是描述网页的标记语言,是将内容放到网页上,虽然HTML本身也自带一些样式功能,通过自身的属性,来实现一些特定的效果,制作出来的只能是一个网页,而不是一个美观的网页.最主要的是在HTML里面,一 ...

  8. hive引擎的选择:tez和spark

    背景 mr引擎在hive 2中将被弃用.官方推荐使用tez或spark等引擎. 选择 tez 使用有向无环图.内存式计算. spark 可以同时作为批式和流式的处理引擎,减少学习成本. 问题& ...

  9. 来认识一下venus-init——一个让你仅需一个命令开始Java开发的命令行工具

    源代码地址: Github仓库地址 个人网站:个人网站地址 前言 不知道你是否有过这样的经历.不管你是什么岗位,前端也好,后端也罢,想去了解一下Java开发到底是什么样的,它是不是真的跟传说中的一样. ...

  10. 【51Nod1584】加权约数和(数论)

    [51Nod1584]加权约数和(数论) 题面 51Nod 题解 要求的是\[\sum_{i=1}^n\sum_{j=1}^n max(i,j)\sigma(ij)\] 这个\(max\)太讨厌了,直 ...