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实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
Python三元运算实现方法
Jan 12 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
python 实现人和电脑猜拳的示例代码
Mar 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
详解Python中的array数组模块相关使用
2016/07/05 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
Python dict的常用方法示例代码
2020/06/23 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
英语翻译系毕业生求职信
2013/09/29 职场文书
大学生村官事迹材料
2014/01/21 职场文书
企业宣传方案
2014/03/04 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
深入理解python协程
2021/06/15 Python