2020-11-27

本文详细介绍了Python中的流程控制语句,包括结构化编程的三大结构(顺序、判断、循环),重点讲解了if条件语句(含if...else...和if...elif...else...)、while和for循环,以及中断语句break和continue的使用。通过实例展示了如何根据用户输入计算特定月份的天数和BMI指数,并提供了多个循环语句的练习题及其解答,帮助读者深入理解Python的控制流概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二次python 流程控制语句

这里可以添加本文要记录的大概内容:做任何事情都要遵循一定的原则。程序设计也是如此,需要利用流程控制实现与用户的交流,并根据用户的需要决定程序做什么,怎么做。本文就介绍了Python 中的流程控制语句

本文的知识点如下:

  1. 结构化编程
  2. If条件语句
  3. if… else…条件语句
  4. while 循环语句
  5. for 循环语句
  6. 中断语句

1. 结构化编程

结构化程序设计就是用高级语言编写的具有分支、循环结构的程序。要完成一件工作。需要先设计。再将设计具体实现。现实世界的事物是复杂的,为了方便描述客观世界中的问题处理步骤可以用图形的方式来表达。程序流程图是程序员用于设计的利器。程序流程图可以描述每个任务的要求以及实现的步骤。

在这里插入图片描述

结构化程序设计分为三类——顺序结构、判断结构、循环结构。

2.条件判断语句

条件语句是指根据条件表达的不同计算结果,使程序流转至不同的代码块。 Python 中的条件语句有——if语句、if else语句

if条件判断

if 语句用于检测某个条件是否成立。如果成立,则执行if语句内的程序,否则跳过if语句,执行后面的内容。

if   要判断的条件1:  条件1成立的时候要做的事情
elif  要判断的条件2:  条件2成立的时候要做的事
**else:条件不成立时候要做的事情!!!elifelse不能单独使用,必须联合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语句来进行依次迭代访问取出其中的整数
示意:
    range4#生成0,1,2,3
    range36#生成 3,4,5
   range1102#生成  1,3,5,7,9
    range50-2#生成5,3,1
    range40# 空

练习:
    用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!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值