Python基础---程序的控制结构

Python基础—程序的控制结构


一、程序流程成图

程序流程图是一种表达程序控制结构的方式,主要用于关键部分的程
序分析和过程描述,由一系列图形、流程线和文字说明等组成。
在这里插入图片描述

(一)顺序结构

顺序结构是程序按照代码的编写顺序依次执行的一种运行方式。
程序流程图:
在这里插入图片描述

(二)程序的分支控制结构

1:单分支结构

程序流程图表示:
在这里插入图片描述
示例:

'''
使用方式:
if <条件>:
    <语句块>
'''
number=eval(input("请输入一个数字"))
if number>=1:
    print("数字是正数")
if number<0:
    print("数字是负数")

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

2.二分支结构

程序流程图:
在这里插入图片描述
示例:

'''
使用方式:
if <条件>:
    <语句块 1>
else:
    <语句块 2>
'''
words = input("您认为顾安是大佬吗?")
a = "是"
if words == a:
    print("您真是个善良美丽的人呢")
else:
    print("快打是!")

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

3.多分支结构

程序流程图:
在这里插入图片描述
实例:

'''
使用方式:
if <条件 1>:
    <代码块 1>
elif <条件 2>:
    <代码块 2>
elif <条件 3>:
    <代码块 3>
    ... ...
else:
    <代码块 n>
'''
a=eval(input("输入一个1-4的数"))
if a==1:
    print("您输入的数字是1")
elif a==2:
    print("您输入的数字是2")
elif a ==3:
    print("您输入的数字是3")
elif a == 4:
    print("您输入的数字是4")

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

`

4.分支嵌套

程序流程图:
在这里插入图片描述
示例:

number=eval(input("请输入一个数字"))
if number<18:
    print("未成年")
else:
    if  18<=number<30:
        print("年轻人")
    elif 30<= number<60:
        print("中年人")
    else:
        print("老年人")

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

(三)程序的循环结构

1、while循环

程序流程图:
在这里插入图片描述
示例:

'''
使用方式:
while (<条件>):
    <代码块 1>
<代码块 2>
'''
a = eval(input("请输入一个数字:"))
while a // 100 >= 1:
    print("您输入的数大于100")
    a = a % 100  # 将数字减少到小于100

# 在循环结束后,如果a不为0,说明输入的数字原本小于100
if a != 0:
    print("您输入的数字小于100")

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

2.while 循环扩展模式

程序流程图:
在这里插入图片描述
示例:

'''
使用方式:
while <条件>:
    <语句块 1>
else:
    <语句块 2>
'''
a = eval(input("请输入一个数字:"))
while a %2 ==1:
    print("您输入的数为奇数")
    break
# 在循环结束后,如果a不为0,说明输入的数字原本小于100
else:
    print("您输入的数字是偶数")

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

3.for 循环

从遍历结构中逐一提取元素,放在循环变量中,对于每个提取的元素执行一次语句块。for语句的循环执行次数是根据迭代器中元素个数确定的。遍历结构可以是字符串、文件、range()函数或其他组合数据类型等。

程序流程图:

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

'''
使用方式:
for <element> in <iterable>:
    <block>
for 循环经常和 range()函数一起使用,使用方式如下:
for <循环变量> in range(<循环次数>):
    <语句块>
'''
words="顾安在学习Python"
for a in words:
    print(a,end='')
print()
for a in range(3):
    a=a+1
    print(a,end=",")

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

4.for 循环扩展模式

程序流程图:

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

'''
使用方式:
for <element> in <iterable>:
    <语句块 1>
else:
    <语句块 2>
'''
# 提示用户输入名字,并获取输入
x = input("{}谁在学习python?".format(""))
words=x+"在学习Python"

# 定义一个名字变量
a = "张"
# 检查用户输入的名字是否与定义的名字相同
for char in x:
    if char == a[0]:
        print(words)
        break
else:
    # 如果循环正常结束,说明用户输入的是"顾安"
    print("不是张在学习,是{}".format(words))

# 输出一个换行符
print()

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

二、循环控制语句

(一)continue 语句

用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,
但不跳出当前循环

示例:

for s in "love python":
    if s=="p" or s=='y':
        continue
    print(s,end='')

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

(二)break 语句

示例:

for s in "love python":
    if s=="p" or s=='y':
        break
    print(s,end='')

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

(三)continue语句和break 语句的区别

continue语句是跳出本次循环不跳出循环体,break语句是跳出循环体。

三、程序的异常处理

实际编程中,程序一般对输入有一定的要求,当实际输入不满足程序要求时,可能会产生程序的运行错误。

这类由于输入与预期不匹配造成的错误有很多种可能,不能逐一列出可能性判断。为了保证程序运行的稳定性,这类运行错误应该被程序捕获并合理控制。

Python 提供了不同形式的异常处理结构,基本思路一致:运行代码,如果没有问题就正常执行,如果发生错误就尝试捕获和处理,最后解决不了程序崩溃。

(一)try…except…

Python 处理异常程序最简单的形式就是 try…except…,类似于
单分支选择结构。

'''
使用语法为:
try:
    可能会发生异常的代码,先执行以下试试看
except <异常类型>:
    如果 try 中代码抛出异常并被 except 捕获,执行此处代码
'''
s = input("Please input number:")
while True:
    try:
        s = int(s) 
        print(s)
        break
    except ValueError:
        print("Please input a number!")
        s = input("Please input number:")

在这里插入图片描述

(二)try…except…else…

该结构可以看为双分支结构,else 中的代码只有在 try 中代码没有
引发异常的情况下执行。
示例:

s = input("Please input number:") 
while True:
  try:
    s = int(s) 
  except ValueError:
    print("Error!!!")
    s = input("Please input number:") 
  else:
    print(s) 
    break

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

(三)try…except…finally…

该结构中,无论 try 代码中是否发生异常,finally 语句块中的代码总会执行。
示例:

'''
使用语法为:
  try:
      可能会发生异常的代码
  except <异常类型>:
      处理异常代码
  finally:
      总是执行
'''
def calc(a, b):  # 自定义函数
  try:
    print(a / b)
  except ZeroDivisionError:
    print("第二个参数不能为 0!")
  finally:
    print("函数执行完成")

c= eval(input("请输入一个数"))
calc(5, c)

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

(四)捕捉多种异常的异常处理结构

实际开发中,同一段代码可能会抛出多种异常,并且针对不同异常进行相应的处理。

'''
使用语法为:
  try:
      可能会发生异常的代码
  except <异常类型 1>:
      处理异常类型 1 的代码
  except <异常类型 2>:
      处 理异常类型 2 的代码
'''
def calc(a, b):
  try:
    print(a / b)
  except ZeroDivisionError:
    print("ZeroDivisionError!,第二个数不能为0!")
  except TypeError:
    print("TypeError!,请输入数字!")
  else:
    print("未出现异常!")
  finally:
    print("函数执行完成")
calc(5, 2)
calc('c', 2)
calc(5, 0)


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

  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值