Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python算法实践Week2-分支程序设计

Python算法实践Week2-分支程序设计

作者头像
Hsinyan
发布于 2022-06-19 09:18:53
发布于 2022-06-19 09:18:53
47100
代码可运行
举报
运行总次数:0
代码可运行

0x00 分支结构

  • 问题的提出 输入两个整数存放与a和b中,使得a中存放的数据小于b中存放的数据。
  • 分析
    • 输入两个数a和b
    • a可能小于b也可能大于b
      • 如果a小于b,不做任何处理
      • 反之,交换a和b
    • 这类型的问题需要对不同的情况做不同的处理,这样的问题,顺序结构无法解决
  • 分支结构的三种基本形式(单分支、双分支和多分支)

单分支结构

  • 单分支结构的语法形式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (条件表达式):
    语句块
# 条件表达式可以是任意表达式,只要结果不为0即认为True,否则为False
# 语句块:可以是一条语句,也可以是多条语句
  • 上述问题的解决
    • 问题重述:输入两个整数存放与a和b中,使得a中存放的数据小于b中存放的数据。
    • Python语言解决
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 输入两个整数存放与a和b中,使得a中存放的数据小于b中存放的数据。
# 使用分支结构
a = int(input('请输入a:'))
b = int(input('请输入b:'))
print('处理前')
print('a={},b={}'.format(a, b))
if a > b:
    a, b = b, a  # 交换a,b变量值
print('处理后')
print('a={},b={}'.format(a, b))

双分支结构

  • 双分支结果的语法形式
  • 问题:比较两个数的大小,输入两个数,输出较大的数
  • 问题:输入三条边的长度,判断是否能组成三角形
  • 问题:划船问题,一个老师带个x个学生去划船,每条船最多装4个人,问需要多少船。

多分支结构

  • 多分支结构的语法形式
  • 问题:计算分段函数的值,当x>1时,y=x,当x<-1时,y=-x,当x介于-1和1之间时,y=1
    • 算法流程图
    • Python语言实现
  1. = float(input('请输入x:'))
  2. x > 1: y = x
  3. x < -1: y = -x else: y = 1 print('y={}'.format(y))
  • 问题:已知某课程的百分之分数mark,将其转换为五级制
  • 问题:已知坐标点(x,y),判断其所在象限
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## 已知坐标点(x,y),判断其所在象限
x = float(input('请输入x坐标值:'))
y = float(input('请输入y坐标值:'))
if x == 0 and y == 0:
    print('该点在原点')
elif x == 0:
    print('该点在y轴上')
elif y == 0:
    print('该点在x轴上')
elif x > 0 and y > 0:
    print('第一象限')
elif x < 0 and y > 0:
    print('第二象限')
elif x < 0 and y < 0:
    print('第三象限')
elif x < 0 and y > 0:
    print('第四象限')
  • 问题:判断某一年是否为闰年 判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除。
    • 流程图
  • Python语言实现
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 判断某一年是否为闰年
# 判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除。
# 方法1:使用多分支结构
y = int(input('请输入年份:'))
if y % 4 == 0 and y % 100 != 0:
    print('{}年是闰年'.format(y))
elif y % 400 == 0:
    print('{}年是闰年'.format(y))
else:
    print('{}年不是闰年'.format(y))
# 方法2:借助逻辑运算符
y = int(input('请输入年份:'))
if (y % 4 == 0 and y % 100 != 0) or (y % 400) == 0:
    print('{}年是闰年'.format(y))
else:
    print('{}年不是闰年'.format(y))
  • 讨论下述条件表达式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (y % 4 == 0 and y % 100 != 0) or (y % 400) == 0:
if (y % 4 == 0 and y % 100 ) or (y % 400) == 0:
if (not(y % 4) and y % 100 ) or (y % 400) == 0:

上述三个条件表达式均具有同一效果,但是第一条更简单易懂

0x01 好程序的三个指标

  • 简单易懂
  • 扩展性强
  • 忠实于自己的算法
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java之单分支和双分支程序流程基本使用
文章目录 程序控制结构 1. 程序流程控制介绍 2. 顺序控制 3. 分支控制 if-else 3.1 分支控制 if-else 介绍 3.2 单分支 3.3 双分支 3.4 单分支和双分支练习题
兮动人
2021/06/11
8750
Java之单分支和双分支程序流程基本使用
python 基础知识第5讲:条件控制语句
通过上面代码的运行,我们可以发现python的程序代码是自上而下运行的 当我们想将输出顺序改变的话,就需要用到条件控制语句
小海怪的互联网
2019/08/23
6850
Python算法实践Week1-程序设计基础
---- 0x00 机器语言、汇编语言与高级语言(以2+3为例) 机器语言:01代码、CPU认识的语言 加运算:1001 减运算:1010 2+3:1001 0010 0011 汇编语言:在机器语言上增加了人类可阅读的助记符 加运算:ADD 减运算:SUB 2+3:ADD 2,3 高级语言:向自然语言靠近的语言 sum = 2 + 3 ---- 0x01 程序设计语言的运行方式 编译型 将高级语言源代码转换成目标代码(机器语言) 程序可以直接运行 目标代码执行速度快 代表语言:C/C++ 解释型 将高
Hsinyan
2022/06/19
3690
Python算法实践Week1-程序设计基础
【C++ 程序设计入门基础】- 第2节-分支结构
在 C 语言中也经常需要对一些条件做出判断,从而决定执行哪一段代码,这时就需要使用选择结构语句。
跟着飞哥学编程
2023/04/01
7580
【C++ 程序设计入门基础】- 第2节-分支结构
流程控制
在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
星辰_大海
2020/09/30
8690
Python 基础篇(四)
# Python 基础篇(四) # 程序的组织结构 1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。 # 顺序结构 程序从上到下顺序地执行代码,中间没有任何的判断和跳转,知道程序结束。 """ @Author :frx @Time :2021/10/10 14:14 @Version :1.0 """ '''把大象装冰箱一共分几步''' print('--------程序开始---------') print('1.把
用户9615083
2022/12/25
4280
Python 基础篇(四)
python的选择结构
python的逻辑运算符:and(逻辑与),or(逻辑或),not(逻辑非). 和其它语言与[&&],或[||],非[!]不一样,感觉有些怪。 >>> not 0 True >>> not '' True >>> not ' ' False >>> 1+True 2 判断闰年 (year%4==0 and year%100!=0) or year%400==0 判断字母 (ch>='a' and ch<='z') or ( ch>='a' and ch<='z') 逻辑运算具有短路的性质,可以进行一些操
热心的社会主义接班人
2018/04/27
1.6K0
Python学习-01-初始Python
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
全栈程序员站长
2022/09/08
6460
《Python程序设计与算法基础教程(第二版)》
标识符的第一个字符必须是字母,下划线(_);其后的字符可以是字母、下划线或数字。一些特殊的名称,作为python语言的保留关键字,不能作为标识符以双下划线开始和结束的名称通常具有特殊的含义。例如__init__为类的构造函数,一般应避免使用
用户7886150
2020/11/29
5.3K0
JavaScript 入门基础 - 流程控制(四)
在程序执行过程中,每一条代码执行的顺序对程序执行的结果有直接的影响,有时我们需要通过控制代码的执行顺序来实现我们所要执行的操作,这就是流程控制,简单来说就是控制代码的执行顺序,来达到影响执行结果的目的。
EXI-小洲
2023/01/02
1.1K0
JavaScript 入门基础 - 流程控制(四)
Java分支结构详解
推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。 https://www.captainbed.cn/f1
鲜于言悠
2024/05/24
1710
Java分支结构详解
【Python】学习笔记week8-1 闰年判断
公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年, 能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。
落雨
2021/12/11
29.2K0
[重学Python] Day1 变量+分支+循环
项目链接:https://github.com/jackfrued/Python-100-Days
李鹏华
2024/04/15
1790
《python语言程序设计》_第4章_选择[通俗易懂]
import math #加载math模块 radius=eval(input(“Enter an integer:”)) #输入一个数 if radius < 0: #设置if语句,如果这个数《0 print(“Incorrect input”) #显示输入错误 else: #不然呢,即是输入值大于等于0 area=radius*radius*math.pi #面积计算 print(“Area is”,area) #显示面积
全栈程序员站长
2022/09/08
3680
《python语言程序设计》_第4章_选择[通俗易懂]
Python算法实践Week3-循环程序设计
0x00 问题引入 问题:输入30个数,输出最大的数 分析 第一个数可能是最大的数,记住它; 对于之后的每一个数,与记住的数字进行比较,如果比记住的数字大,则记住此数; 所有的数字看过之后,输出最大的数; 循环 程序中重复做某事的现象称为循环 例如求1~100的和,求一个班某科成绩的平均分 循环结构(循环条件和循环体) 20200206045625.png 0x01 while循环 问题:求1+2+3+4+……+100的值 流程图 20200206045743.png Python语言实现 = 0 =
Hsinyan
2022/06/19
6820
Python算法实践Week3-循环程序设计
【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)
双分支程序设计是一种基本的条件控制结构,用于根据条件结果执行不同的代码路径。在C语言中,可以使用if-else语句实现双分支程序设计来判断学生成绩是否及格。如果学生成绩达到及格标准,执行一组代码;否则,执行另一组代码。
Qomolangma
2024/07/30
2450
【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)
[重学Python] Day1 变量+分支+循环
其中%d是整数的占位符,%f是小数的占位符,%%表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%),字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中。
李鹏华
2024/04/14
2200
python核心编程2 第五章 练习
5-2 运算符 (a) 写一个函数,计算并返回两个数的乘积 (b) 写一段代码调用这个函数,并显示它的结果
py3study
2020/01/17
5010
【Python】05、python程序结
如果是复合对象,Python会检查其所有部分,包括自动遍历各级嵌套对象,直到可以得出最终结果
py3study
2020/01/15
6580
Python 分支结构
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 分支结构 ---- Python 分支结构 1.语句和代码块 2.条件表达式 3.分支结构 3.1 单分支结构:if语句 3.2 else 语句 3.3 多分支结构:elif子句 3.4 三元表达式: if/else ---- 1.语句和代码块 程序是由语句和表达式构成的。 还有一些语句不仅
小嗷犬
2022/11/15
1.1K0
Python 分支结构
相关推荐
Java之单分支和双分支程序流程基本使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验