前言

上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础!

一、顺序语句

顺序语句很好理解,就是按程序的顺序逻辑编写程序即可,例如:

 name = input('Please input your name:')

 print('I am ', name)
Please input your name:MinuteSheep
I am MinuteSheep

输出结果

上面代码展示了很标准的顺序语句,逻辑结构如下:

二、条件语句

每当你的程序需要做出选择,就要使用条件语句了,条件语句通过判断条件的真假来决定执行的代码块,先来看条件语句的逻辑结构:

由上图可以看到,当条件为True是,执行语句1和语句2,当条件为False时,只执行语句2,这就是条件语句的迷人之处

代码块

细心的小伙伴可能已经发现上面的新名词:代码块。每一种编程语句都有其独特的代码块,在Python中,用缩进来控制代码块

 name = input('Please input your name:')

 if name == 'MinuteSheep':
print('Your are MS')
print('Your are the best man in the world!')
else:
print('Your are not MS')

从上面的代码中可以明显的看出代码块的存在,第4行和第5行是条件为真的代码块,第7行是条件为假的代码块。

在Python中,用4个空格或者Tab来缩进,但要注意:整个程序中只能使用一种缩进格式,不能混着使用,否则会提示缩进错误。

单条件

铺垫了这么多,也该引出Python条件语句的语法了吧。在Python中,条件语句使用 if......else...... 格式表示条件语句,其形式为:

if 判断条件:
条件为真代码块
else:
条件为假代码块

其中,else为可选语句,条件为假什么都不执行的时候可以将其省略不写,看下例:

 name = input('Please input your name:')    # 输入你的名字

 if name == 'MinuteSheep':   # 判断变量name是否为MinuteSheep
print('Your are MS') # 条件为真则执行
print('Your are the best man in the world!') # 条件为真则执行
else:
print('Your are not MS') # 条件为假则执行
Please input your name:MinuteSheep
Your are MS
Your are the best man in the world!

输出结果

 flag = True

 if flag:    # 判单flag是否为真,也可以写为 if flag == True:
print('flag is True')
# 条件为假时不需要执行任何代码,则else忽略不写
flag is True

输出结果

多条件

有小伙伴肯定会问,需要判断多个条件时岂不是要写多个 if 语句。其实在Python中,多条件的判断是有其独特的语法的,使用 if......elif......elif......else...... 即可,其形式为:

if 判断条件1:
条件为真代码块
elif 判断条件2:
条件为真代码块
elif 判断条件3:
条件为真代码块
else:
条件为假代码块

其中,else为可选语句,条件为假什么都不执行的时候可以将其省略不写,看下例:

 num = 20

 if num > 30:
print('>30')
elif num > 20:
print('>20')
elif num > 10:
print('>10')
else:
print('<=10')
>10

输出结果

条件语句嵌套

条件语句是可以嵌套的,在实际使用中应该灵活应用:

 num = 20

 if num > 10:
print('>10')
if num > 15:
print('>15')
if num > 18:
print('>18')
>10
>15
>18

输出结果

三元运算

条件为真的结果 if 判断条件 else 条件为假的结果

举例就明白了:

 num = 1 if 1 > 2 else 5
'''
相当于:
if 1 > 2:
num = 1
else:
num = 5
'''
print(num) # 结果为 5

简单语句组

对于小代码块可以写在一行,更加美观,例如:

 num = 100

 if num == 100: print('Hello,world!')

虽然美观,但并不推荐大家使用

三、循环语句

循环语句的出现,可以说是真正的解放人力,计算机的优势很大程度上依赖循环,先来看看循环语句的逻辑结构:

从上图可以看出,只要循环条件为真,那么循环语句就会被执行多次,Python语言中存在两种循环,一起来看看吧

for循环

for循环主要起到遍历元素的作用,第一次接触可能觉得怪怪的,不要担心,用熟了你就会发现for循环非常方便,先来看个例子:

 for num in range(10):   # 遍历整数,
print(num) for letter in 'MinuteSheep': # 遍历字符串
print(letter) for element in ['Python', 'C', 'Java']: # 遍历列表
print(element)
0
1
2
3
4
5
6
7
8
9
M
i
n
u
t
e
S
h
e
e
p
Python
C
Java

输出结果

从上面代码可以看到for循环作为迭代工具使用相当强大。

for循环可以和else配合使用,else的代码块会在for循环结束后执行,例如:

 for element in ['Python', 'C', 'Java']:   # 遍历列表
print(element)
else:
print('Bye~')
Python
C
Java
Bye~

输出结果

对于上面的代码,萌新肯定还有疑问,为什么是num、letter、element? 关键字 in 是什么?

num、letter、element是自己随便起的变量名,可以更改,换成 i、p随便什么都行,只要符合变量的命名规则就行,关键字 in ,就是在里面的意思,用代码解释更容易理解:

In [1]: 5 in range(10)
Out[1]: True In [2]: 'MS' in ['MinuteSheep', 'Mike']
Out[2]: False In [3]: 'MS' in 'MinuteSheep'
Out[3]: False In [4]: 'Mi' in 'MinuteSheep'
Out[4]: True

通过这段代码应该就可以理解了

while循环

while循环是真循环,而不像for循环主要起遍历作用,其形式为:

while 循环条件:
条件为真代码块
else:
条件为假代码块

其中,else为可选语句,条件为假什么都不执行的时候可以将其省略不写,看下例:

 num = 5

 while num < 10:
print('条件为真,执行我')
num += 1
else:
print('条件为假,该执行我了')
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为假,该执行我了

输出结果

无限循环:在Python中,使用 while True: 循环内容 即可实现无限循环:

 num = 0
while True:
num += 1
print(num)

执行后就会发现屏幕上不停的跑数字而不会停止,想要停止按下键盘 Ctrl + C 来强制停止。

while循环也有简单语句组,同样也不推荐使用

循环语句嵌套

循环语句之间也是可以嵌套的,两种循环语句既可以独立嵌套,也可以互相嵌套,看例:

 # for循环嵌套
for i in range(10):
for p in range(5):
print(p) # 可以看到输出了10次0,1,2,3,4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4

输出结果

  # while循环嵌套
1 num = 5
while num < 7:
while num < 6:
print('hello~~~')
num += 1
print('hi~~~~')
num += 1
hello~~~
hi~~~~

输出结果

 # while 和 for 循环嵌套
num = 5
while num < 8:
for i in range(3):
print(i)
num +=1 # 可以看到输出了3次0,1,2
0
1
2
0
1
2
0
1
2

输出结果

以上就是循环的嵌套,在实际运用中应该灵活使用循环的嵌套,往往会带来事半功倍的效果!

循环控制语句

接下来的三个关键字起到循环控制的作用,分别是break,continue,pass

Break

中断循环,也称为跳出循环、结束循环,在循环过程中,遇到break,就会跳出这个循环,看例:

 num = 0

 while True:
if num > 3:
print('我要跳出循环啦')
break
print('我正在循环')
num += 1
我正在循环
我正在循环
我正在循环
我正在循环
我要跳出循环啦

输出结果

由上面代码可以看到,循环过程中一但遇到break,就会跳出此循环,即使是无限循环也不顶用

Continue

继续循环,也成为跳过本次循环,在循环过程中,遇到continue,会跳过本次循环,继续下一次循环,看例:

 num = 0

 while num < 5:
num += 1
if num > 3:
print('我要跳过一次循环啦')
continue
print('我正在循环')
我正在循环
我正在循环
我正在循环
我要跳过一次循环啦
我要跳过一次循环啦

输出结果

由上面代码可以看到,有两次循环被跳过,只输出了3次“我正在循环”,也可以看到continue并不会跳出循环,循环还会继续执行

空语句 pass

空语句其实是有语句的,pass代表空语句,程序遇到pass什么也不会执行,仅仅是路过,有时为了保持程序的美观、完整性,通常会用pass占位,有时没想好程序怎么写,也用pass占位,什么都不写的话程序会报错,就好像写作文想好了小标题,却没想好内容写什么的时候,可以用pass代替内容,想好后再作修改。

#7 Python顺序、条件、循环语句的更多相关文章

  1. 05 . Python入门值循环语句

    一.Python循环语句 程序一般情况下是按照顺序执行的 编程语言提供了各种控制结构,允许更复杂的执行路径 Python中的循环语句有for和while但没有do while 循环语句允许我们执行一个 ...

  2. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  3. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

  4. 【python】Python3 循环语句

    [python]几种常见的循环 注意:如果涉及到程序中print语句中含有%d,%s,那么要在脚本最开始写语句:#coding=utf-8,才能够正常输出想要的数字或者字符串. Python3 循环语 ...

  5. python入门10 循环语句

    两种循环: 1 for in 2 while #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 ...

  6. [转帖]Linux教程(21)-Linux条件循环语句

    Linux教程(21)-Linux条件循环语句 2018-08-24 16:49:03 钱婷婷 阅读数 60更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原创文 ...

  7. 条件循环语句组成了Python代码的骨架

    条件控制 我们都知道流程图是有多个分支的,程序中也是如此,在Python中是用if语句来判断程序该走哪个分支的.它的执行过程如下: 代码执行过程如下: if if语句的一般形式如下: if condi ...

  8. python基础之条件循环语句

    前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...

  9. Python之条件 循环和其他语句 2014-4-6

    #条件 循环和其他语句 23:30pm-1:431.print和import的更多信息 使用逗号将多个表达式输出 >>> print 'age:',42 age: 42 >&g ...

  10. Python 安装、循环语句、数据类型(一)

    一.关于版本的选择 Should i use Python 2 or Python 3 for my development activity?转载自Python官网 Short version: P ...

随机推荐

  1. python基础之Day9

    一.文件操作 1.r+t:可读可写 2.w+t:可写可读 3.a+t:可追加写.可读 4.f.seek(offset,whence) offset代表文件的指针的偏移量,单位是字节byteswhenc ...

  2. spring mvc+mybatis 构建 cms + 实现UC浏览器文章功能

    最近公司在模拟UC浏览器做一个简单的cms系统,主要针对于企业内部的文章浏览需求,这边考虑用户大多用mobile浏览文章内容,故使用原生的ios和android进行开发,后面也会集成html5. 1. ...

  3. java多线程系列15 设计模式 生产者 - 消费者模式

    生产者-消费者 生产者消费者模式是一个非常经典的多线程模式,比如我们用到的Mq就是其中一种具体实现 在该模式中 通常会有2类线程,消费者线程和生产者线程 生产者提交用户请求 消费者负责处理生产者提交的 ...

  4. cookie方法封装

    将cookie封装主要是为了方便使用,可通过修改参数直接引用在其他需要的地方,不用重新写. 1.添加,删除,修改cookie /** * @param name name:cookie的name * ...

  5. Collision (hdu-5114

    题意:你有一个以(0, 0), (x, 0), (0, y), (x, y)为边界点的四边形,给你两个点从(x1, y1), (x2, y2)的点发射,以(1, 1)的速度走,碰到边界会反射,问你最终 ...

  6. /bin/bash: /bin/java: Is a directory 解决

    Hadoop执行 mapreduce报错 -- ::, INFO mapreduce.Job: map % reduce % -- ::, INFO mapreduce.Job: Job job_15 ...

  7. Centos7通过yum安装最新MySQL

    一:去官网查看最新安装包 https://dev.mysql.com/downloads/repo/yum/ 二:下载MySQL源安装包 wget http://dev.mysql.com/get/m ...

  8. 【慕课网实战】一、以慕课网日志分析为例 进入大数据 Spark SQL 的世界

    课程整套CDH相关的软件下载地址:http://archive.cloudera.com/cdh5/cdh/5/ cdh-5.7.0 生产或者测试环境选择对应CDH版本时,一定要采用尾号是一样的版本 ...

  9. [转]WordPress“添加媒体”文件时只显示上传到当前文章的附件图片

    使用WordPress的朋友应该都清楚,特别是喜欢图文并茂的网站,肯定离不开的就是WordPress文章编辑页面的“添加媒体”按钮,每次点击就能弹出一个插入多媒体的界面,然后页面默认就会列举加载所有最 ...

  10. 背水一战 Windows 10 (66) - 控件(WebView): 监听和处理 WebView 的事件

    [源码下载] 背水一战 Windows 10 (66) - 控件(WebView): 监听和处理 WebView 的事件 作者:webabcd 介绍背水一战 Windows 10 之 控件(WebVi ...