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实现windows下模拟按键和鼠标点击的方法
Mar 13 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
python实现换位加密算法的示例
Oct 14 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
keras slice layer 层实现方式
Jun 11 Python
python 如何利用argparse解析命令行参数
Sep 11 Python
Python+Appium自动化测试的实战
Jun 30 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
一个简单实现多条件查询的例子
2006/10/09 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
php标签云的实现代码
2012/10/10 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
利用layer实现表单完美验证的方法
2019/09/26 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
python通过smpt发送邮件的方法
2015/04/30 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
贝佳斯官方网站:Borghese
2020/05/08 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
学术诚信承诺书
2014/05/26 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
员工团队活动方案
2014/08/28 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS