Python——第三章 程序的控制结构

3.1程序的分支结构

3.1.1程序的判断条件

not表示单个条件的“否”关系
and表示多个条件之间的“与”关系
or表示多个条件之间的“或”关系

当and存在时,只要存在false,结果为false。
当or存在时,只要存在true,结果为true。

3.1.2 if语句

if条件:
      语句块;
在这里插入图片描述

s=eval(input("请输入一个整数:"))
if s % 3==0 and s % 5==0:
    print("这个数字既可以被3整除,也可以被5整除。")
print("输入数字是:",s)
print("程序结束。")

在这里插入图片描述
Python语言中,任何非零的数值、非空的数据类型都等价于True,0等价于False,可以直接用作判断条件。

s=eval(input("请输入一个整数:"))
if s % 2:
    print("这个数是一个奇数。")
print("输入数字是:",s)
print("程序结束。")

在这里插入图片描述

3.1.2 if-else语句

if条件:
      语句块1;
else:
      语句块2;
在这里插入图片描述

s=eval(input("请输入一个整数:"))
if s % 3==0 and s%5==0:
    print("这个数可以被3和5整除。")
else :
    print("这个数不可以同时被3和5整除。")
print("输入数字是:",s)
print("程序结束。")

在这里插入图片描述
二分支还有更简洁的表达方式,适合语句块1和语句块2都只是包含简单的表达式的情况:
语法格式如下:
   表达式1 if 条件 else 表达式2

a=99+1
s=eval(input("请输入一个整数:"))
token="可以" if s % 3==0 and s%5==0 else "不"
print("这个数字{}能同时被3和5整除".format(token))
print("程序结束。")

在这里插入图片描述

3.1.3 多分支语句

if 条件1:
      语句块1
elif 条件2:
      语句块2

else:
      语句块N
在这里插入图片描述

score=eval(input("请输入学生百分制成绩:"))
if score>=90.0:
    grade="A"
elif score>=80.0:
    grade="B"
elif score>=70.0:
    grade="C"
elif score>=60.0:
    grade="D"
else:
    grade="E"
print("该学生对应的五分制成绩是:{}".format(grade))

在这里插入图片描述

3.2循环结构

3.2.1遍历循环:for

使用方式:
for循环变量 in遍历结构:
语句块
在这里插入图片描述
遍历循环可以理解为从遍历结构中,逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
遍历结构可以是字符串、文件、range()函数或组合数据类型等。

for c in "Python":
    print(c)
print("程序结束")

在这里插入图片描述
range()函数返回的是一个可迭代的对象
range(start,stop[,step])
参数说明:
start:计数从start开始。默认是从0开始。
例如:range(5)等价于range(0,5)
stop:计数到stop结束,但不包括stop。
例如:range(0,5)是[0,1,2,3,4]没有5
step:步长,默认为1。
例如:range(0,5)等价于range(0,5,1)

for c in range(10):       #第一个参数如果省略,默认为0.
    print(c)               #输出0123456789
print("程序结束")
for c in range(1,10):
    print(c)           #输出123456789
print("程序结束")
for c in range(1,10,2):#2是一种切片,也就是当元素是第2个位置,或者2的倍数,都不输出。
    print(c)            #输出13579
print("程序结束")

结果输出如下:
在这里插入图片描述
在这里插入图片描述
遍历控制保留字:break和continue
break用来跳出当前循环,脱离该循环后,程序从循环后代码继续执行。如果有2层或多层循环,break跳出最内层循环。
continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。

for c in "python":
    if c=="t":
        break      #跳出所属for循环
    print(c)
print("程序结束")

for c in "python":
    if c=="t":
        continue      #结束当前当次循环
    print(c)
print("程序结束")

在这里插入图片描述
循环结构的扩展模式
for 循环变量 in 遍历结构:
        语句块1
else
        语句块2
当for循环正常执行结束后,程序会继续执行else语句的内容。else语句只在循环正常执行之后才执行并结束。因此可以在语句2中放置判断循环执行情况的语句

for c in "python":
    if c=="t":
        break      #跳出所属for循环
    print(c)
else:
    print("循环正常结束")
print("程序结束")
for c in "python":
    if c=="t":
        continue      #跳出所属for循环
    print(c)
else:
    print("循环正常结束")
print("程序结束")

在这里插入图片描述

3.2.2嵌套循环

for i in range(1,3):
    print("外面循环第{}次".format(i))
    for j in range(1,3):
        print("内部循环第{}次".format(j),end=" ")   #如果不写end就自动换行了
        print("{}*{}={}".format(i,j,i*j))
print("程序结束")

在这里插入图片描述

3.2.3无限循环 while

while 条件:
   语句块1
在这里插入图片描述
判断条件如果为TRUE,执行语句块。返回再次判断while条件,当条件是FALSE时,循环终止。继续后续语句。

n=0
while n<10:
    print(n)
    n=n+3
print("程序结束")

在这里插入图片描述
无限循环的扩展模式
while条件:
        语句块1
else
        语句块2
当while循环正常执行结束后,程序会继续执行else语句的内容。else语句只在循环正常执行之后才执行。因此可以在语句2中放置判断循环执行情况的语句

循环非正常结束:

s,num="py",0 #s='py';num=0
while num<len(s):
    print("循环执行中:"+s[num])
    num +=1    #num=2
    break      #非正常执行结束
else:
    s="循环正常结束"
print(s)

在这里插入图片描述
循环正常结束:

s,num="py",0 #s='py';num=0
while num<len(s):
    print("循环执行中:"+s[num])
    num +=1    #num=2
               #正常执行结束
else:
    s="循环正常结束"
print(s)

在这里插入图片描述

3.3异常处理try和except

Python程序一般对输入有一定要求,当实际输入不满足程序要求时,可能会产生程序运行错误。Python语言使用保留字tryexcept进行异常处理
在这里插入图片描述语句块1是正常执行的内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2.
例1:

try:
    n=eval(input("请输入一个数字:"))
    print("输入数字的3次方值为:",n**3)
except:
    print("输入错误,请输入一个数字!")

在这里插入图片描述
例2:

while True:
    try:
        n=eval(input("请输入一个数字:"))
        break
    except:
        print("输入错误,请输入一个数字!")
print("输入的数字为:",n)

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值