首页 > 编程语言 >Python基础---程序的控制结构

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

时间:2024-06-03 15:01:18浏览次数:13  
标签:try Python 程序 except 控制结构 --- print input 输入

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)


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

标签:try,Python,程序,except,控制结构,---,print,input,输入
From: https://blog.csdn.net/weixin_68864415/article/details/139336706

相关文章

  • How about a push-type floor scrubber
    Thehand-pushfloorscrubberisanelectriccleaningequipmentsuitablefordifferentfloormaterialsanddifferentcleaningplaces.Whilecleaningthefloor,itsucksupthesewageandtakesthesewageawayfromthesite.Theworkingprincipleissimple,......
  • 计算机网络基础-VRRP原理与配置
    目录一、了解VRRP1、VRRP的基本概述2、VRRP的作用二、VRRP的基本原理1、VRRP的基本结构图2、设备类型(Master,Backup) 3、VRRP抢占功能3.1:抢占模式3.2、非抢占模式4、VRRP设备的优先级5、VRRP工作原理三、VRRP的基本配置3.1、配置主设备与备用设备​ 3.2、结果......
  • MySQL从入门到高级 --- 12.事务 && 13.锁机制 && 14.日志
    文章目录第十二章&&第十三章&&第十四章:12.事务12.1特性12.2隔离级别13.锁机制13.1各存储引擎对锁的支持状况:13.2锁特性13.3MyISAM表锁13.3.1加表锁13.4InnoDB行锁13.4.1行锁特点13.4.2行锁模式14.日志14.1错误日志14.2二进制日志14.2.1日志格式14.3......
  • Vue3.0+typescript+Vite+Pinia+Element-plus搭建vue3框架!
    使用Vite快速搭建脚手架命令行选项直接指定项目名称和想要使用的模板,Vite+Vue项目,运行(推荐使用yarn)#npm6.xnpminitvite@latestmy-vue-app--templatevue#npm7+,需要额外的双横线:npminitvite@latestmy-vue-app----templatevue#yarnyarncreatevite......
  • JavaEE初阶--锁进阶理解
    目录一、引言二、锁的分类1.乐观锁vs悲观锁2.重量级锁vs轻量级锁3.自旋锁vs挂起等待锁4.公平锁vs非公平锁5.可重入锁vs不可重入锁6.读写锁三、CAS1.什么是CAS?2.CAS伪代码3.CAS的实现4.CAS的应用5.CAS的ABA问题四、总结一、引言 前面的博客我们......
  • BK7258--wifi音视频soc芯片,1080P H264 wifi低功耗保活,内置BLE,音频code,psram,flash,USB2.
    BK7258是上海博通推出的高度集成的Wi-Fi+BLE combo音视频芯片,支持UVC和DVP摄像头,该芯片集成音视频外设及接口,1080P,H.264,低功耗,内置flash,dsp,psram,驱屏,回声消除及降噪等,广泛适用于可视猫眼,门锁,门铃,ipc,内窥,儿童相机等应用市场。可视门铃应用:DVP接口支持720p25fps图像采集;MJPE......
  • Facebook海外企业户-注意事项
         Facebook是世界上最受欢迎的社交平台之一。它已被超过30亿用户使用。也是众多跨境电商商家的选择。那么,当你在海外建立一个企业账户或使用Facebook时,你应该注意哪些政策?为保证zFacebook,Google开企业广告账户/游戏代投账户下户顺利进行,避免出现以下问题:1.......
  • WebGPU学习(11)--- 独立于 Canvas 绘制
    更多精彩内容尽在数字孪生平台,关注公众号:sky的数孪技术,技术交流、源码下载请添加VX:digital_twin123只想创建图像数据而不使用Canvas当使用WebGL时,我们始终必须从Canvas获取WebGL渲染上下文,因为渲染上下文与绘图目标紧密相关。但是WebGPU不一定需要Canvas来......
  • React路由 基础:react-router-dom
    这里简单介绍一下react路由基础的知识,以及基础操作一,安装命令npminstallreact-router-dom二,路由模式1.ReactRouter支持两种路由模式:BrowserRouter和HashHistory。2.BrowserRouter使用URL中的/来定义路由,例如:http://xxx.com/Search3.HashHistory使用URL中的#来定义路由,例如......
  • Zcmu-1178
    思路:分析题目要求的就是由2,3,5,7单独相乘或者组合相乘的数字。所以将数字循环起来相乘,之后结果按从大到小地无重复放进数组当中。学长#include<set>#include<queue>#include<vector>#include<cstdio>usingnamespacestd;typedeflonglongll;intnum[4]={2,3,5......