第二次python 流程控制语句
这里可以添加本文要记录的大概内容:做任何事情都要遵循一定的原则。程序设计也是如此,需要利用流程控制实现与用户的交流,并根据用户的需要决定程序做什么,怎么做。本文就介绍了Python 中的流程控制语句
本文的知识点如下:
- 结构化编程
- If条件语句
- if… else…条件语句
- while 循环语句
- for 循环语句
- 中断语句
1. 结构化编程
结构化程序设计就是用高级语言编写的具有分支、循环结构的程序。要完成一件工作。需要先设计。再将设计具体实现。现实世界的事物是复杂的,为了方便描述客观世界中的问题处理步骤可以用图形的方式来表达。程序流程图是程序员用于设计的利器。程序流程图可以描述每个任务的要求以及实现的步骤。
结构化程序设计分为三类——顺序结构、判断结构、循环结构。
2.条件判断语句
条件语句是指根据条件表达的不同计算结果,使程序流转至不同的代码块。 Python 中的条件语句有——if语句、if else语句
if条件判断
if 语句用于检测某个条件是否成立。如果成立,则执行if语句内的程序,否则跳过if语句,执行后面的内容。
if 要判断的条件1: 条件1成立的时候要做的事情
elif 要判断的条件2: 条件2成立的时候要做的事
**else:条件不成立时候要做的事情!!!elif与else不能单独使用,必须联合if才能使用**
if 嵌套
if 要判断的条件:
条件成立的时候做的事情
if 要判断的条件:
条件成立的时候做的事情
else:
条件不成立的时候做的事情
else:
条件不成立的时候做的事情
if逻辑运算符
and
条件1 and 条件2
两个条件都满足,就返回True
两个条件有一个不满足,返回False
or
条件1 or 条件2
两个条件只要有一个满足,就返回True
两个条件都不满足,返回False
练习1:输入年、月,输出本月有多少天,合理选择分支语句完成设计任务
year1 = int(input('年:'))
month1 = int(input('月:'))
if(month1 == 1 or month1 == 3 or month1 == 5 or month1== 7 or month1 == 8 or month1 == 10 or month1 == 12):
print('31天')
elif(month1==4 or month1 ==6 or month1==9 or month1==11):
print('30天')
elif(month1==2 and((year1%4==0 and year1%100!=0)or year1%400==0)):
print('29天')
else:
print('28天')·
输入2020 年2月
if …elif…else 判断语句
if …elif…else语句是对if…else… 语句的补充.当程序的条件很多分支时,可以用这种语句.
== 使用 if…elif…else 语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达 式或逻辑表达式,如果表达式为真,执行语句;而如果表达式为假,则跳过该语句,进行下 一个 elif 的判断,只有在所有表达式都为假的情况下,才会执行 else 中的语句。==
height = float(input('请输入身高'))
strong = float(input('请输入体重'))
print('你的身高为%s,体重为%s'%(height, strong))
BIM = strong/height**2
print('你的身体状况指数为%s'%BIM)
if BIM < 18.5:
print('过轻')
elif BIM >= 18.5 and BIM <= 25:
print('正常')
elif BIM >= 25 and BIM <= 28:
print('过重')
elif BIM >= 28 and BIM <= 32:
print('肥胖')
elif BIM >= 32:
print('严重肥胖')
else :
print('过度严重肥胖')
3.循环语句
当我们需要执行一个语句或者语句组多次,不可能将同样的语句写多遍,一是比较繁琐, 二是不利于维护,这时候循环语句就应运而生。其中循环语句又分for循环和while循环。
while循环
while 循环的执行过程:当循环表达式为真时,依次执行whlie 中的语句.知道循环表达式的值为false,程序的流程转到else语句.
while 判断条件(condition):
执行语句(statements)……
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
输出结果 1 到 100 之和为: 5050
while 循环使用 else 语句
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
结果
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
for 循环使用的语法
Python 中,for 循环用于遍历一个迭代对象的所有元素。循环内的语句段会针对迭代对象的每一个元素项目都执行一次。暂且可以将迭代对象想象成一个对象集合,我们可以一个个遍历里面的元素。
for 变量 in集合:
...
else:
...
s = input ("输入字符串:")
for ch in s :
if ch == "h":
print (s,"中含有字符“h”")
break #结束循环
else:
print (s,"中不含有“h”")
for , in,循环的执行过程:每次循环从集合中取一个值,并把该值赋值给变量.集合可以是元组 ,列表,字典等数据结构.for…in… 循环 常与range()函数一起使用.
range()它的语法:range(start, stop [,step]) ;start 指的是计数起始值,默认是 0;stop
指的是计数结束值,但不包括 stop ;step 是步长,默认为 1,不可以为 0 。range() 方法生成一段左闭右开的整数范围。
对于 range() 函数,有几个注意点:(1)它表示的是左闭右开区间;(2)它接收的参数必须是整数,可以是负数,但不能是浮点数等其它类型;(3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素;(4)它是可迭代对象,却不是迭代器。
range(stop): 0 ~ stop-1
range(start,stop): start ~ stop-1
range(start,stop,step): start ~ stop #step表示步长
range 函数
range(stop) 用来生成0~stop区间内的整数,直到stop为止(不包括stop)
range (start,stop,step) step步数与切片差不多
用来生成start~stop区间内的整数,直到stop为止(不包含stop)
**作用:**
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
说明:
range返回的对象可以由for语句来进行依次迭代访问取出其中的整数
示意:
range (4) #生成0,1,2,3
range (3,6) #生成 3,4,5
range (1,10,2) #生成 1,3,5,7,9
range (5,0,-2) #生成5,3,1
range (4,0) # 空
练习:
用for1-20整数,打印在一行捏:
答案:
for a in range(1,21):
print (a,end = "")
else:
print()
计算1+3+5+7+。。。。。。。+99的和
while语句答案:
i = 1
sum =0
while i <= 99: #当结束循环时输出print(c)的值
if i % 2 != 0:
sum +=i
i += 1
print (sum,end = "")
用for语句做
sum = 0
for a in range (1,100):
if a % 2 != 0: #for循环从1到99依次执行一次if语句
sum =sum + a
print (sum)
break与 continue 语句
break 语句 可以让程序跳出循环语句,从而执行循环体之外的程序,即break 可以提前结循环体.
在某些场景中,如果需要在某种条件出现时强行中止循环,而不是等到循环条件为 False 时才退出循环,就可以使用 break 来完成这个功能。
for i in range(0, 10) :
print("i的值是: ", i)
if i == 2 :
# 执行该语句时将结束循环
break
通过运行结果可以看出,break 语句导致了 i= =2 时执行结束,因为当 i= =2 时,在循环体内遇到了 break
语句,程序跳出该循环。
continue 语句
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句使用在用在while和for循环中。
for letter in 'Python': # First Example
if letter == 'h':
continue
print 'Current Letter :', letter
var = 10 # Second Example
while var > 0:
var = var -1
if var == 5:
continue
print 'Current variable value :', var
print "Good bye!"
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Current variable value : 4
Current variable value : 3
Current variable value : 2
Current variable value : 1
Current variable value : 0
Good bye!