Python学习-流程图、分支与循环(branch and loop)

十、流程图

1、流程图(Flowchart)

流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。
好处:
1)代码的指导文档
2)有助于规划高效率的程序结构
3)便于与他人交流
在这里插入图片描述
流程图的思维是至上往下走的,线性逻辑的思维模式。

2、函数(function)

函数就是对一段代码进行封装。

3、思维导图(Mind Map)

思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。

十一、分支与循环(branch and loop)

1、分支结构 - if语句

Python的分支结构由if语句来实现的,有5种语法:
1)判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。包含的语句使用缩进,缩进决定了从属关系。

if condition:statement(s)

举例:

if 3<5:print("我在里面")print("我也在里面")
print("我在外面")

2)判断一个条件:
如果条件成立,就执行其包含的某条语句或某个代码块
如果条件不成立,就执行另外的某条语句或某个代码块

if condition:statement(s)
else:statement(s)

举例:

if "小甲鱼" == "小姐姐":print("小甲鱼是小姐姐!")
else:print("小甲鱼不是小姐姐!")

3)判断多个条件:
如果第1个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则接着判断第3个条件……

if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……

举例:

score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")

4)多条件else:
第4种是在第3种的情况下添加一个else,表面上面所有的条件均不成立的情况下,执行某条语句或某个代码块。

if condition1:statement(s)
elif condition2:statement(s)
elif condition3:statement(s)
……
else:statement(s)

举例:

score = input("请输入你的分数:")
score = int(score)if 0<= score < 60:print("D")
elif 60<= score < 80:print("C")
elif 80<= score < 90:print("B")
elif 90<= score < 100:print("A")
elif score == 100:print("S")
else:print("请输入 0~100 之间的分值!")

5)条件表达式
条件成立时执行的语句 if condition else 条件不成立时执行的语句
举例:
正常表达式:

age = 16
if age < 18:print("抱歉,未满18岁禁止访问。")
else:print("欢迎您来~")

条件表达式:

age = 16
print("抱歉,未满18岁禁止访问。")  if age < 18 else print("欢迎您来~")

案例4的条件表达式:

score = 66
level = ('D' if 0<= score <60 else'C' if 60<= score <80 else'B' if 80<= score <90 else'A' if 90<= score <100 else'S' if  score == 100 else"请输入 0~100 之间的分值!")
print(level)

2、分支结构的嵌套

举例:

age = 18
isMale = True
if age <18 :print("抱歉,未满18岁禁止访问。")
else:if isMale:print("任君选购!")else:print("抱歉,本店商品可能不适合小公举哦")

3、循环结构

(1)while循环
只要条件成立,其包含的某条语句或某个语句块就会一直被执行。

while condition:statement(s)

举例:

love = "yes"
while love == "yes":love = input("今天你还爱我吗?")

(2)for循环
下面可以看到,第5部分

(3)退出死循环
1)break
2)continue:
continue也会跳出循环体,但只是跳出本轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。
举例:

i = 0
while i < 10:i += 1if i % 2 == 0:continueprint(i)1
3
5
7
9

3)break和continue的区别
在这里插入图片描述

4)else
当循环的条件不再为真的时候,便会执行else语句的内容。
举例:

i = 1
while i < 5:print("循环内,i的值是", i)i += 1
elseprint("循环外,i的值是", i)

4、循环结构的嵌套

无论是break语句还是continue语句,它们只能作用于一层循环体。

day = 1
hour = 1
while day <= 7:while hour <= 8:print("今天我一定要坚持学习8小时!")hour += 1if hour >1:breakday += 1今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!
今天我一定要坚持学习8小时!

九九乘法表

i = 1
while i <= 9:j = 1while j <= i:print(j,"*",i,"=",j * i,end=" ")j += 1print()i += 1

在这里插入图片描述

5、for循环

for 变量 in 可迭代对象 :

   statement(s)

可迭代对象指元素能够被单独提取出来的对象,比如字符串。
举例:for循环每次从字符串Love里面提取出一个字符,并赋值给变量each,循环体内只有一个语句,将each变量值打印出来。

for each in "Love":print(each)L
o
v
e
举例用while来实现:
i = 0
while i < len("Love"):print("Love"[i])i += 1L
o
v
e

6、range生成数值序列,参数只能是整型。

range(stop)
range(start, stop)
range(start, stop, step)

举例:

for i in range(10):print(i)0
1
2
3
4
5
6
7
8
9for i in range(5,10):print(i)5
6
7
8
9for i in range(5,10,2):print(i)5
7
9

举例:从0加到100万的和

i =1
sum = 0
while i <= 1000000:sum += ii += 1print(sum)500000500000sum = 0
for i in range(1000001):sum += i
print(sum)
500000500000

举例:查看10以内的素数

for n in range(2,10):for x in range(2,n):if n % x ==0:print(n,"=",x,"*",n // x)breakelse:print(n,"是一个素数")2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3

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

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

相关文章

云服务器ECS价格表出炉——阿里云

2024年阿里云服务器租用价格表更新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

docker (十一)-进阶篇-docker-compos最佳实践部署zabbix

一 部署docker环境 关闭防火墙、selinux、开启docker&#xff0c;并设置开机自启动 注意点&#xff1a;docker部署的时候&#xff0c;bip要指定&#xff0c;不然会导致虚拟机ip和容器ip冲突&#xff0c;ssh连不上虚拟机 部署请参考 docker &#xff08;二&#xff09;-yum…

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址&#xff1a;Welcome to Python.org 下载路径&#xff1a;Download Python | Python.org ​​​​​​​ linux源码安装包下载&#xff1a; windows二进制安装包下载&#xff1a; 二、Linux如何安装python 2.1 单版本安装 以安装python…

Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

Problem - 15C - Codeforces 目录 Nim游戏&#xff1a; 1~n的异或和&#xff1a; 代码&#xff1a; Nim游戏&#xff1a; n个石头堆&#xff0c;谁最后没得取谁败 我用的异或思考法&#xff0c;对所有堆异或。开局异或和为0的败 最后全是0&#xff0c;异或完也是0. //最…

DDI中的自适应子结构

SA-DDI提出了一种子结构感知图神经网络&#xff0c;一种配备了子结构注意力机制和用于DDI预测的子结构-子结构交互模块&#xff08;SSIM&#xff09;的消息传递神经网络。具体而言&#xff0c;基于分子中官能团的尺寸和形状通常是不规则的化学直觉&#xff0c;子结构注意力被设…

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数&#xff0c;则相机会直接完成这张图像的采集&#xff0c;并自动将缺失行数补黑出图&#xff0c;机制有以下几种选择&#xff1a; 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图

混子文章|蓝桥杯一题 -平方差

题目考点: 平方差 ,平方差奇偶关系 代码 #include<bits/stdc.h> #define Run 0 #define endl "\n" #define N 100005 using unl __int128_t; using ll long long; using namespace std; class Solution { public: void slove() {int sum 0;int L, R; cin &…

内存计算研究进展-针对机器学习的近数据计算架构

针对机器学习的近数据计算架构代表性工作有&#xff1a; Georgia Institute of Technology的BSSync (bounded staled sync) 和 Neurocube&#xff0c;Advanced Micro Devices 的 CoML&#xff0c;具体如下。 1 BSSync BSSync指出&#xff0c;在并行实现的机器学习应用中&#…

代码随想录算法训练营DAY21 | 二叉树 (9)

一、LeetCode 669 修建二叉搜索树 题目链接&#xff1a;669.修建二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/description/ 思路&#xff1a;递归三部曲-定参数、返回值-定终止条件-定单层递归逻辑 class Solution {public TreeNode trimBST(TreeNode …

Sora了解资料

一、基本介绍 1.1sora 在 2024 年 2 月 16 日&#xff0c;Open AI 宣布推出全新的生成式人工智能模型“Sora”。据了解&#xff0c;通过文本指令&#xff0c;Sora 可以直接输出长达 60 秒的视频&#xff0c;并且包含高度细致的背景、复杂的多角度镜头&#xff0c;以及富有情感…

Prometheus+TDengine集群实现监控体系高可用

背景 为避免再次出现因Prometheus宕机导致业务无法查看历史数据受到影响&#xff0c;准备将Prometheus架构从单节点方式升级为高可用集群方式并将后端存储由本地存储改为远端分布式时序数据库存储。分布式时序数据库采用国产数据库TDengine。 架构 解释&#xff1a;虚线代表P…

Tuxera NTFS软件2024免费版本如何下载?

当然&#xff0c;以下是关于Tuxera NTFS的更多信息&#xff1a; Tuxera NTFS2024下载如下:https://wm.makeding.com/iclk/?zoneid58824 1. 易于使用和管理&#xff1a; Tuxera NTFS的界面设计简洁直观&#xff0c;用户无需复杂的设置和配置即可轻松上手。无论是对于普通用户…

机器视觉【3】非线性求解相机几何参数

线性求解相机几何参数的缺点 上一章节介绍学习了&#xff08;DLT&#xff09;线性求解相机几何参数&#xff0c;了解到线性求解法当中比较明显的缺点&#xff1a; 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是&#xff0c;代数距离并不是…

Sora给中国AI带来的真实变化

OpenAI的最新技术成果——文生视频模型Sora&#xff0c;在春节假期炸裂登场&#xff0c;令海内外的AI从业者、投资人彻夜难眠。 如果你还没有关注到这个新闻&#xff0c;简单介绍一下&#xff1a;Sora是OpenAI使用超大规模视频数据&#xff0c;训练出的一个通用视觉模型&#x…

ClickHouse快速上手

简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS) 官网(https://clickhouse.com/docs/zh)给出的定义&#xff0c;其实没看懂 特性 ClickHouse支持一种基于SQL的声明式查询语言&#xff0c;它在许多情况下与ANSI SQL标准相同。使用时和MySQL有点相似&#…

JAVA设计模式结构型模式

一、前言 java设计模式主要分为创建型模式&#xff0c;结构型模式和行为型模式。上一篇主要总结了行为型设计模式&#xff0c;本章总结&#xff0c;结构型模式。像创建型模式就不写了&#xff0c;比较简单。大概知道是工厂模式和建造者模式&#xff0c;原型模式就行&#xff0…

CTFHub技能树web之RCE(二)

第五题&#xff1a;远程包含 根据题目&#xff0c;使用远程包含进行 打开phpinfo&#xff0c;可以看到allow_url_fopen和allow_url_include都是On&#xff0c;因此可以使用php://input&#xff0c;由于代码会检查file中的内容&#xff0c;因此不能够使用php://filter包含文件&a…

Unreadable-Mesh内存占用翻倍问题

1&#xff09;Unreadable-Mesh内存占用翻倍问题 2&#xff09;在TMP中计算书名号《》高度的问题 3&#xff09;Mipmap如何限定层级 4&#xff09;FMOD设置中关于Virtual Channel Count&Real Channel Count的参数疑问 这是第374篇UWA技术知识分享的推送&#xff0c;精选了UW…

STM32使用软件SPI协议操作TFT18彩屏

时间记录&#xff1a;2024/2/20 一、SPI协议介绍 &#xff08;1&#xff09;SPI设备通过4根线进行通信&#xff0c;CS片选线&#xff0c;选择从设备&#xff0c;SCK时钟线&#xff0c;由主设备产生时钟&#xff0c;主机MOSI线连从机MISO线&#xff0c;由主机向从机发送信息&am…

CMake与vs的配置对应(常规->附加包含目录,链接器->输入)

常规->附加包含目录 对应CMake的 include_directories(${QT_PATH}/include) 写在 add_executable 前面 链接器->输入 对应CMake的 target_link_libraries(${PROJECT_NAME} xx.lib) 写在 add_executable 后面