Python分支语句与循环语句应用实例分析


Posted in Python onMay 07, 2019

本文实例讲述了Python分支语句与循环语句应用。分享给大家供大家参考,具体如下:

一、分支语句

1、if else语句

语法:

if 条件判断:
执行的语句块1
else :
执行语句块2

当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2

注意:1、条件判断后面要加冒号”:“;

2、执行语句块需要缩进【4个空格】。

else 与 if对齐,else后面要加”:”,语句块缩进4个空格

'''
从控制台输入年龄,如果年龄小于18岁,打印”未成年人禁止进入“
大于18岁,打印”欢迎光临“
'''
age = input("请输入您的年龄:")
age = int(age)
if age < 18:
  print("未成年人禁止进入")
  print("等你满18岁就可以来了")
else:
  print("欢迎光临")

输出:

    请输入您的年龄:18
    欢迎光临

'''
从控制台输入两个数,输出较大的值,不能使用max函数
'''

num1= int(input("请输入number1:"))
num2= int(input("请输入number2:"))
if num1 > num2 :
  print("较大的数为number1:",num1)
elif num1 == num2 :
  print("number1 %d与 number2 %d相等"%(num1,num2))
else:
  print("较大的数为number2:",num2)

输出:

请输入number1:12
请输入number2:13
较大的数为number2: 13

需要多重判断的时候,我们则可以使用以下的方式来解决

if 条件判断1:
    语句1
elif 条件判断2:
    语句2
...
elif 条件判断n:
    语句n
else:
    语句

注意:elif是else if的缩写,可以有多个elif。

所以,根据上面的需求,我们的代码则可以这样写

'''
如果年龄小于等于18,打印少年,年龄大于18且小于等于25,则打印青年,大于25小于等于40,打印壮年,大于40,打印您更年期到了。。。
'''
age = 34
if age <= 18:
  print("少年")
elif age <= 25:
  print("青年")
elif age <= 40:
  print("壮年")
else:
  print("您的更年期到啦")

if语句有个特点,它是从上往下判断,如果在某个判断上是True,把该判断的语句对应执行后,就忽略掉其他的elif和else。

if判断语句还可以简写:

if x:
  print("True")

只要x是非零数值,非空字符串,非空list,就判断为True,否则为False

2、嵌套的if语句

需求:现输入一个数,判断他是否为大于10的偶数

如果要解决上述的需求,可能我们需要两个判断语句,第一个判断输入的数是否大于10,第二个判断是在第一个的基础上来判定这个数是否为偶数。

简单的说,就是在if语句中再嵌套一个if语句,效果如下:

语法:

​ if 表达式1:
​ 语句1
​ if 表达式2:
​ 语句2

num = 20
if num > 10:
  if num % 2 == 0:
    print(num)

注意:从语法的角度上说,嵌套的层数没有限制,但是,从代码的可读性和可维护性来说,最好的嵌套的层数不要超过三层。

3、if 的神奇用法(三目运算)

伪三目运算

result1 if 判断条件 else result2

若条件成立则输出结果result1,否则输出结果result2

>>> x = 10
>>> y = 20
>>> x if x > y else y
20

二、循环语句之while

1、while循环的语法:

while 判断语句:
执行代码块

当判断语句成立的时候,执行下面的代码块【判断语句的结果为True,即不等于0,0.0,False,None的情况下执行代码块】。

...
计算 1 + 2 + 3 + ... + 1000
...
n = 1
sum = 0
while n <= 100:
  sum = sum + n
  n = n + 1
print("sum = %d" % sum)
print("n = %d" % n)

输出:

sum = 5050
n = 101

'''
从[100,1000)的水仙花数
'''
n = 100
print("水仙花数")
while n < 1000:
  bai = n // 100
  shi = n //10 % 10
  ge = n %10
  if n == pow(bai,3) + pow(shi,3) + pow(ge,3):
    print("%d" %n)
  n += 1

输出:

水仙花数
153
370
371
407

2、while 之死循环

死循环出现的契机:当表达式永远为真的时候,会出现死循环。

while 1:
  print("I am very good !")

3、while else

'''
while else 的语法
while 条件判断:
  循环语句块
else:
  语句块

当条件判断的结果为True的情况下,执行循环语句块
直到条件判断的结果为False的时候跳出循环,并且执行else语句,如果是通过break跳出循环则不执行else语句
'''
n = 100
print("水仙花数")
while n < 1000:
  bai = n // 100
  shi = n //10 % 10
  ge = n %10
  if n == pow(bai,3) + pow(shi,3) + pow(ge,3):
    print("%d" %n)
  n += 1
else:
  print("循环已结束")

输出:

水仙花数
153
370
371
407
循环已结束

4、while之简单的语句组

如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行。

语法:

while 条件: 语句

while True: print("you are a good man")

三、结束循环语句

1.break语句的使用

在循环中,使用break语句可以提前退出循环。

例如:本来循环打印1~100的数字,但是,现在我要提前结束,当数字大于10的时候,打印循环结束。

n = 1
while n <= 100:
  if n > 10:
  #当n = 11时,条件满足,执行break语句
    break
  print(n)
  n += 1
print("循环结束")

2.continue语句的使用

在循环的过程中,可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

n = 0
while n < 10:
  n += 1
  print(n)

通过上面的程序可以打印出1~10,但是,如果我们只想打印奇数,可以使用continue语句跳过某些循环。

思考三:打印1~100以内的奇数

num = 1
while num <= 100:
  if num%2 == 0:
    continue
  print(n)

3. pass语句的使用

pass 语句是空语句,是为了保持程序结构的完整性

pass 不做任何事情,一般用做占位语句

if True:
  pass
else:
  print("hello")

四、循环语句之for

1、for循环

python 的循环有两种,一种是我们之前讲的while循环,另外一种就是for…in循环,依次把list或者tuple中的元素或者字符串迭代出来。

name = ['lili','Bob','Tracy']
for name in names:
  print(name)

执行这段代码,会依次打印names的每一个元素

lili
Bob
Tracy

所以 for x in … 循环就是把每个元素带入变量x,然后执行缩进块语句。

计算1~10的整数之和,可以用一个sum变量做累加:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
  sum = sum + x
print(sum)

如果要计算1~100的整数之和,从1到100有点困难,在python中提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list,比如range(5)生成的序列是从0开始小于5的整数。

sum = 0
for x in range(100):
  sum += x
print(sum)

2、for 循环使用else语句

与while…else类似,else也会在循环正常执行完的情况下执行

for i in range(10):
  print(i)
else:
  print("********")

3、range函数

range函数可创建一个可迭代对象,一般用在for循环中

函数语法:

range([start,] stop[, step])

参数说明:

python
1.start:计数从start开始,默认从0开始,例如:range(5)等价于range(0, 5)
2.stop:计数到stop结束,但不包括stop。例如:range(0,5)的取值为[0,5)
3.step:步长,默认为1,例如range(0,5) 等价于range(0, 5, 1)

函数返回一个可迭代对象,从这个可迭代对象中可以获取一个整数列表。

#使用list函数,可以从可迭代对象中获取整数列表
>>> list(range(5))
[0, 1, 2, 3, 4]

五、嵌套循环

我们可以在循环体中嵌套循环。

需求:打印九九乘法表

for i in range(1,10):
  for j in range(1,i + 1):
    print("%d*%d=%d"%(j,i,j*i),end='\t')
  print()

输出:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6  3*3=9
1*4=4 2*4=8  3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现的简单FTP上传下载文件实例
Jun 30 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
python中的随机函数random的用法示例
Jan 27 Python
python语音识别实践之百度语音API
Aug 30 Python
Python异常的检测和处理方法
Oct 26 Python
pandas DataFrame索引行列的实现
Jun 04 Python
学习和使用python的13个理由
Jul 30 Python
Tensorflow 多线程设置方式
Feb 06 Python
python画环形图的方法
Mar 25 Python
在pycharm中创建django项目的示例代码
May 28 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
Jul 23 Python
手把手教你配置JupyterLab 环境的实现
Feb 02 Python
Python正则表达式实现简易计算器功能示例
May 07 #Python
深入浅析Python 中 is 语法带来的误解
May 07 #Python
利用python如何在前程无忧高效投递简历
May 07 #Python
Python可迭代对象操作示例
May 07 #Python
python实现支付宝转账接口
May 07 #Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 #Python
python验证身份证信息实例代码
May 06 #Python
You might like
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php截取中文字符串函数实例
2015/02/23 PHP
Yii中表单用法实例详解
2016/01/05 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
Vue实现boradcast和dispatch的示例
2020/11/13 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python中树与树的表示知识点总结
2019/09/14 Python
如何基于线程池提升request模块效率
2020/04/18 Python
JAVA和C++的区别
2013/10/06 面试题
安全检查管理制度
2014/02/02 职场文书
留学推荐信范文
2014/05/10 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
第一军规观后感
2015/06/12 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
关于Vue中的options选项
2022/03/22 Vue.js