Python程序的流程

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
年轻是我们唯一拥有权利去编制梦想的时候!

目录

一、程序设计流程:

二、分支结构: 

三、循环结构: 

四、流程控制的其他语句:

1.跳转语句

2.pass语句

3.循环结构中的 else 语句


        程序是由若干语句组成的,其目的是实现一定的计算或处理功能。程序中的语句可以是单一的一条语句,也可以是一个语句块(复合语句)。编写程序要解决特定的问题,这些问题通过多种形式输人,程序运行并处理,形成结果并输出,所以,输人、处理、输出是程序的基本结构。在程序内部,存在逻辑判断与流程控制的问题。Python的流程控制包括顺序、分支和循环3种结构。

一、程序设计流程:

         计算机程序设计包括面向过程和面向对象两种方法。面向对象程序设计在细节实现上,也需要面向过程的内容。结构化程序设计是公认的面向过程的编程方法,按照自顶向下、逐步求精和模块化的原则进行程序的分析与设计。为提高程序设计的质量和效率、增强程序的可读性,可以使用程序流程图、PAD 图、N-S图等作为辅助设计工具。

        结构化程序设计大致包含3种基本流程:顺序结构、分支结构和循环结构。

        顺序结构是3种结构中最简单的一种,即语句按照书写的顺序依次执行;分支结构又称选择结构,它根据计算所得的表达式的值来判断执行哪一个流程的分支;循环结构则是在一定条件下反复执行一段语句的流程结构。 

        无论是面向对象的计算机语言,还是面向过程的计算机语言,在局部的语句块内部,仍然需要使用流程控制语句来编写程序,完成相应的逻辑功能。Python语言提供了实现分支结构的条件分支语句和实现循环结构的循环语句。 

二、分支结构: 

        Python 使用if语句来实现分支结构。根据分支的条件,如果是一个条件,形成简单分支结构如果是两个条件,形成选择分支结构;如果是多个条件,形成多重分支结构。分支语句中还可以包含分支结构,形成分支的嵌套结构。

# 分段语句的示例,分段函数计算,根据x的值,输出y的值
import mathx = -37
if x < 0:y = math.fabs(x)
else:y = math.sqrt(x)
print(f'计算的结果是:{y:.2f}')
# 根据月份计算该月的天数(不考虑闰年的情况)
month=eval(input("请输入您选择的月份:"))
days=0
if (month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12):days=31
elif (month==4 or month==6 or month==9 or month==11):days=30
else:days=28
print(f"{month}月的天数有:","{} 天".format(days))

# 使用分支的嵌套计算购书款
"""
一个计算购书款的程序。如果有会员卡,购书5本以上,书款按7.5折结算,5本以下,按8.5折结算;
如果没有会员卡,购书5本以上,书款按8.5折结算,5本以下,按9.5折结算。
"""
flag = 1  # flag=1表示有会员卡
books = 8  # 购书数量
price = 234  # 单价
actualpay=0
if flag==1:if books>=5:actualpay=price*0.75*bookselse:actualpay=price*0.85*books
else:if books>=5:actualpay=price*0.85*bookselse:actualpay=price*0.95*books
print(f"您的实际付款金额是:{actualpay:.2f}")
for循环示例。计算1~100中能被3整除的数之和。
s = 0
for i in range(100):if i % 3 == 0:s += i
print(s)

 

for循环示例。计算1!+2!...+5!

 

def factorial(n):t = 1for i in range(1, n + 1):t *= ireturn t# 计算阶乘和sum1 = 0
for i in range(1, 6):sum1 += factorial(i)
print("1!+2!...+5!=", sum1)
while循环示例。将列表头尾置换

 

# 创建列表
lst = [2, 58, 68, 56, 18, 64, 32, 97, 23, 45]
i = 0
while i < len(lst) / 2:lst[i], lst[len(lst) - i - 1] = lst[len(lst) - i - 1], lst[i]i += 1"""或temp=lst[i]lst[i]=lst[len(lst) - i - 1]lst[len(lst) - i - 1]=temp"""
print(lst)

三、循环结构: 

        循环结构是在一定条件下,反复执行某段程序的控制结构,反复执行的程序块称为循环体循环结构是程序中非常重要的一种结构,它是由循环语句来实现的。Python 的循环共包括 for 循环和 while 循环两种。

四、流程控制的其他语句:

1.跳转语句

break语句示例。求99的最大真约数。
a = eval(input("请输入数值:"))
i = a // 2  # 等价与i=int(a/2)
while (i > 0):if a % i == 0:breaki -= 1
print(a, "的最大真约数为:", i)

2.pass语句

3.循环结构中的 else 语句

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端素材】推荐优质后台管理系统Annex平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面&#xff0c;通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面&#xff0c;使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

利用python爬取本站的所有博客链接

目录 前因 首先的尝试 解决办法 导入包 定义一个json配置文件 打开浏览器执行操作 注意 提取源代码并且进行筛选链接 执行结果 前因 由于自己要把csdn的博客同步到hugo中&#xff0c;把博客转为md格式已经搞好了&#xff0c;但是由于csdn的图片具有防盗链&#xff0c;…

2024年经典【自动化面试题】附答案

一、请描述一下自动化测试流程&#xff1f; 自动化测试流程一般可以分为以下七步&#xff1a; 编写自动化测试计划&#xff1b; 设计自动化测试用例&#xff1b; 编写自动化测试框架和脚本&#xff1b; 调试并维护脚本&#xff1b; 无人值守测试&#xff1b; 后期脚本维…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…

Sora 原理与技术实战笔记一

b 站视频合集 【AIX组队学习】Sora原理与技术实战&#xff1a;Sora技术路径详解 Sora 技术报告&#xff08;OpenAI&#xff09; huggingsd 文生图视频系列的一个开源项目 最强视频生成模型Sora相关技术解析 https://github.com/lichao-sun/SoraReview 惊艳效果&#xff1a; 长…

云呐智能运维包含哪些内容?运维未来的发展方向是什么?

智能运维&#xff08;AIOps&#xff09;是一种使用人工智能应用程序来调节IT操作和维护的实践方式。它结合了大数据和机器学习技术&#xff0c;旨在自动化和改进IT操作和维护任务&#xff0c;如故障检测、因果分析和自动故障修复。以下是智能操作和维护的具体内容、挑战和解决方…

使用Node.js构建一个简单的聊天机器人

当谈到人工智能&#xff0c;我们往往会想到什么&#xff1f;是智能语音助手、自动回复机器人等。在前端开发领域中&#xff0c;我们也可以利用Node.js来构建一个简单而有趣的聊天机器人。本文将带你一步步实现一个基于Node.js的聊天机器人&#xff0c;并了解其工作原理。 首先…

文生图项目总结

文生图 功能点 页面进来获取背景图url和图片宽高&#xff08;根据比例和手机屏幕处理过的宽高&#xff09;渲染图片&#xff08;背景图最后生成图片模糊&#xff0c;换成img展示解决&#xff09;添加多个文字&#xff0c;编辑文字内容&#xff0c;拖拽改变文字位置&#xff0c…

上云还是下云,最大挑战是什么?| 对话章文嵩、毕玄、王小瑞

近半年来&#xff0c;公有云领域频频发生阿里云、滴滴等平台崩溃事件&#xff0c;与此同时&#xff0c;马斯克的“X 下云省钱”言论引起了广泛关注&#xff0c;一时间&#xff0c;“上云”和“下云”成为热议话题。在最近举办的 AutoMQ 云原生创新论坛上&#xff0c;AutoMQ 联合…

大数据可视化python01

import pandas as pd import matplotlib.pyplot as plt# 设置中文改写字体 plt.rcParams[font.sans-serif] [SimHei]# 读取数据 data pd.read_csv(C:/Users/wzf/Desktop/读取数据进行数据可视化练习/实训作业练习/瓜果类单位面积产量.csv ,encoding utf-8)#输出 print(data)…

springcloud alibaba组件简介

一、Nacos 服务注册中心/统一配置中心 1、介绍 Nacos是一个配置中心&#xff0c;也是一个服务注册与发现中心。 1.1、配置中心的好处&#xff1a; &#xff08;1&#xff09;配置数据脱敏 &#xff08;2&#xff09;防止出错&#xff0c;方便管理 &#xff08;3&#xff…

AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境等应用

原文链接&#xff1a;AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境等应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Di…

ConcurrentHashMap的演进:从Java 8之前到Java 17的实现原理深度剖析

目录 一、引言二、Java 8之前的ConcurrentHashMap1、内部结构与初始化2、Segment类3、并发控制4、扩容与重哈希5、总结 三、Java 8中的ConcurrentHashMap1、数据结构2、并发控制2.1. CAS操作2.2. synchronized同步块 3、哈希计算与定位4、扩容与重哈希5、总结 四、Java 17中的C…

广汽埃安工厂:蔚来汽车的造车工厂有哪些?

具体来说&#xff0c;理想汽车目前在常州仅有一家汽车制造工厂。 一期项目于2017年12月竣工&#xff0c;2019年12月投产&#xff0c;年产能10万辆/年。 同时&#xff0c;正在规划二期工程。 产能将增至20万辆/年。 此外&#xff0c;理想还计划接管现代汽车在北京顺义的第一家工…

工业现场网络性能评估方案

最近要去一个工厂排查网络和电脑卡顿的问题,为此&#xff0c;我准备了以下的方案&#xff0c;在现场以抓包和网络监控的方式来排查。 1.评估流程 为了评估Linux系统的网络负荷&#xff0c;并使用tcpdump来捕获数据包进行分析&#xff0c;您需要遵循以下几个步骤&#xff1a; …

数据仓库与数据挖掘概述

目录 一、数据仓库概述 &#xff08;一&#xff09;从传统数据库到数据仓库 &#xff08;二&#xff09;数据仓库的4个特征 &#xff08;三&#xff09;数据仓库系统 &#xff08;四&#xff09;数据仓库系统体系结构 &#xff08;五&#xff09;数据仓库数据的粒度与组织…

论文阅读_代码生成模型_CodeGeeX

英文名称: CodeGeeX: A Pre-Trained Model for Code Generation with Multilingual Evaluations on HumanEval-X 中文名称: CodeGeeX&#xff1a;一种用于代码生成的预训练模型&#xff0c;并在HumanEval-X上进行多语言评估 链接: https://arxiv.org/abs/2303.17568 代码: http…

训练1 : 老头

以前用blender做的特效 总结 头发很费时间, 需要参考和练习眼窝周边结构还有些待准确把握从光与影中揣摩轮廓形状 从少量面掌握大体, 从多数面雕刻细节

terminal下环境不统一导致的程序报错(powersell改cmd)

1.报错现象 在terminal下利用命令行执行代码显示运行环境缺包&#xff1a; 但将命令中的参数写入参数文件&#xff0c;运行train.py时&#xff0c;程序可以正常运行&#xff1a; 直接运行train.py:程序可用&#xff1a; 2.原因分析 参考文章 控制台环境和项目环境不一致问…

【Mysql】InnoDB 中 B+ 树索引的注意事项

一、根页面万年不动 在之前的文章里&#xff0c;为了方便理解&#xff0c;都是先画存储用户记录的叶子节点&#xff0c;然后再画出存储目录项记录的内节点。 但实际上 B 树的行成过程是这样的&#xff1a; 每当为某个表创建一个 B 树索引&#xff0c;都会为这个索引创建一个根…