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实现一个简单的MySQL类
Jan 07 Python
python开发之文件操作用法实例
Nov 13 Python
详谈python中冒号与逗号的区别
Apr 18 Python
TensorFlow损失函数专题详解
Apr 26 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
Nov 07 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
使用pip安装python库的多种方式
Jul 31 Python
Python中常用的高阶函数实例详解
Feb 21 Python
python图片合成的示例
Nov 09 Python
python中turtle库的简单使用教程
Nov 11 Python
python_tkinter事件类型详情
Mar 20 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
计数器详细设计
2006/10/09 PHP
模仿OSO的论坛(二)
2006/10/09 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
Python import用法以及与from...import的区别
2015/05/28 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
Python面向对象之Web静态服务器
2019/09/03 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
母亲追悼会答谢词
2014/01/27 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
服务行业口号
2014/06/11 职场文书
质量月口号
2014/06/20 职场文书
2014年医务科工作总结
2014/12/18 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
高一作文之暖冬
2019/11/09 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
delete in子查询不走索引问题分析
2022/07/07 MySQL