第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

Similar documents
PowerPoint 演示文稿

新汉语水平考试

Microsoft Word - HSK四级大纲_最新挖改 _.doc

新汉语水平考试

新汉语水平考试

林子雨《C语言程序设计》讲义PPT

Ps22Pdf

國家圖書館典藏電子全文

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

zyk00168ZW.PDF

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

1 已 賺 得 並 已 收 到 現 金 2 已 經 收 到 現 金, 但 仍 未 賺 得 3 尚 未 賺 得, 或 收 到 現 金 4 已 經 賺 得, 但 尚 未 收 到 現 金 (2)9. 下 列 何 種 報 表 係 表 達 一 公 司 在 某 一 時 點 之 財 務 狀 況? 1 綜 合 損

Microsoft Word - Vcj05.doc

山东建筑大学学分制管理规定(试行)


Microsoft Word - 永政发〔2016〕48号.doc

记 忆 155 期 北 京 大 学 文 革 专 辑 (9) 目 录 专 稿 章 铎 从 高 云 鹏 的 遭 遇, 看 迟 群 之 流 的 专 制 附 : 高 云 鹏 给 胡 宗 式 章 铎 的 信 (2015 年 11 月 19 日 ) 评 论 马 云 龙 王 复 兴 抢 救 记 忆 : 一 个 北

硕士论文正文


不 会 忘 记, 历 史 不 会 忘 记, 当 一 个 古 老 神 州 正 以 崭 新 的 姿 态 昂 首 屹 立 于 世 界 东 方 的 时 候, 当 世 界 把 延 伸 的 广 角 镜 瞄 准 这 片 神 奇 土 地 的 时 候, 中 国 人 民 已 深 深 感 到, 现 在 所 拥 有 的,

第一章

标题

Microsoft Word - media-tips-zh.doc

A 单 位 负 责 人 B 会 计 机 构 负 责 人 C 会 计 主 管 人 员 D 会 计 人 员 多 选 题 : 1. 单 位 伪 造 变 造 会 计 凭 证 会 计 账 簿, 编 制 虚 假 财 务 会 计 报 告 的, 县 级 以 上 人 民 政 府 财 政 部 可 以 依 法 行 使 的

第六篇守势




第 二 章 鉴 证 业 务 的 定 义 和 目 标 第 五 条 鉴 证 业 务 是 指 注 册 会 计 师 对 鉴 证 对 象 信 息 提 出 结 论, 以 增 强 除 责 任 方 之 外 的 预 期 使 用 者 对 鉴 证 对 象 信 息 信 任 程 度 的 业 务 鉴 证 对 象 信 息 是 按



2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为

<4D F736F F D203136BCADBBD8D2E4D3EBD1D0BEBF2E646F63>

萧山中学课程建设方案.doc


Microsoft Word - 9pinggb_A4.doc

Microsoft Word - 9pinggb_A4-f4.doc

理 论 探 索 事 业 单 位 改 革 的 五 点 思 考 余 路 [ 摘 要 ] 事 业 单 位 改 革 是 中 国 改 革 的 重 要 环 节, 其 影 响 力 和 难 度 不 亚 于 国 有 企 业 改 革 本 文 着 重 围 绕 推 进 事 业 单 位 改 革 应 考 虑 的 五 个 方 面

日 本 位 于 亚 洲 东 部, 太 平 洋 西 北 角, 是 我 国 东 方 的 一 个 岛 国 在 洪 积 世 ( 注 1) 的 大 部 分 时 期 内, 日 本 与 大 陆 相 连 大 约 在 洪 积 世 晚 期 至 冲 积 世 ( 注 2) 初 期, 日 本 各 地 发 生 海 进, 出 现

2深化教育教学改革、创新人才培养模式


Microsoft Word - 9pinggb_let.doc

实 习 上 下 点 表 格 解 释 和 相 关 纪 律 要 求 : 1 表 格 中 所 有 名 词 都 为 简 称, 包 括 医 院 名 称 四 年 级 五 年 级 各 专 业 名 称 等 所 有 时 间 都 为 学 生 装 好 行 李 出 发 时 间, 请 提 前 0 分 钟 将 行 李 运 到

3 基 金 杠 杆 从 分 级 基 金 的 概 念, 我 们 知 道 了 分 级 基 金 的 A 份 额 是 每 年 获 得 固 定 收 益 的 稳 健 份 额,B 份 额 是 具 有 杠 杆 效 应 的 激 进 份 额 分 级 基 金 中 的 杠 杆 一 般 有 三 类 : 份 额 杠 杆 =(A

简报158期.doc

Microsoft Word - 9pingb5_let.doc

退休權益.ppt [相容模式]

Microsoft Word - 1.《國文》試題評析.doc

Ps22Pdf

$%%& ()*+, %&, %-&&%%,. $ %,, $,, & /$- 0(1 $%%& %& 234 %-%, 5&%6&633 & 3%%, 3-%, %643 -%%% :::; 7<9; %-%, 3$%$ :::;

# $# #!# # # # # # # %# # # &# # # # #! "

zt

Microsoft Word - Probability.doc

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

复杂加载路径下无粘性土的次塑性边界面模型

<4D F736F F D20B6C0AE78B0EDAABAC0B8A740B8D65FA7EBA7BAA54EA4E5BEC7ACE3A873C24FA55AA15E2E646F63>

Microsoft Word - F5.docx

第十号 上市公司关联交易公告

Microsoft Word - 朗诵诵材.doc

06-07周年報告template.PDF

<4D F736F F D20C8CBB8A3D2BDD2A9BCAFCDC5B9C9B7DDB9ABCBBECFEACABDC8A8D2E6B1E4B6AFB1A8B8E6CAE9A3A8CEE4BABAB5B1B4FABFC6BCBCB2FAD2B5BCA

第一部分 言语理解与表达

Microsoft Word - 夜二專單獨招生簡章 doc

四. 夏 族 言 语 不 是 一 音 一 字 五. 禹 传 子 的 生 物 学 意 义 一. 大 禹 治 的 水 是 从 何 而 来 可 能 是 海 浸 大 禹 治 水, 洪 水 滔 天, 神 州 无 净 土! 左 准 绳 右 规 矩, 声 为 律 身 为 度 所 以 大 禹 一 直 被 国 人 尊

!"#$ % & ())*$ $ +,-./0)1)1/.21/.$ 3 4$ 5 4$ 6 789:;9< $ = :; A B CD ())* E )FG(*? H$ $ $ $ $ $ $ $ $ $ % IJ!"#% &$ KLMNO 2(* H 2G))(2 $ PQ R

中華民國青溪協會第四屆第三次理監事聯席會議資料

Ps22Pdf


Microsoft Word - 第3章.doc

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

第一章 §1 1

<4D F736F F D AB4FA5C0A448ADFBA4FEAFC5C0B3C0CBB8EAAEC6B2C4A447B3A1A5F E646F63>

頭 上 下 舌 齒 三 十 二 相 大 智 度 論 卷 4 ( 大 正 25,90a-91a) (22) 四 十 齒 相 (23) 齒 齊 相 (24) 牙 白 相 (26) 味 中 得 上 味 相 (27) 大 舌 相 八 十 種 好 大 般 若 經 卷 381 ( 大 正 6,968a9-969

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1>

C39N410.dvi

在 上 述 物 理 模 型 中 ( 三 隻 猴 子 的 重 量 都 一 樣 ), 考 慮 底 下 四 個 問 題 : () 當 三 股 力 量 處 於 平 衡 狀 態, 而 且 F 點 處 於 ABC 的 內 部 時, 利 用 力 的 向 量 和 為 零 的 觀 念, 求 角 度 AFB, BFC,

Microsoft Word - 实验3.doc

Microsoft Word 高二文組生物

Historical Fund Prices_TC_mt_2017.pdf

基金研究

Remark:随机变量不只离散和连续两种类型

e 2 3 2


! $%%&! (!"# $%%& $) * +, -. / 0 *-./ 0 /1 -!!!!!! 21.!!!!!! 31 /!!!!!! 41 0 $%%& )% $%%& 5 $%%& 6 $%%& $%%& ( #!! " #

Microsoft Word - 第5-7章

<3935BCC6A5D2C1CDB6D52E747066>

《C语言程序设计》教材习题参考答案

3. 反 映 : 4. 五 花 八 门 : 5. 慷 慨 : 6. 参 与 : 7. 慰 劳 : 8. 延 续 : 9. 珍 爱 : 10. 浪 漫 : 三. 找 出 下 列 每 组 词 中 的 近 义 词 或 同 义 词 : 节 日 节 气 节 令 时 节 习 俗 民 俗 仪 式 风 俗 文 献

6寸PDF生成工具

[1] (p.28) / / 3 4 [1] (p.26) [2] (p.171)

推理證明 本節性質與公式摘要 1 推理與證明 : 1 已知 2 求證 3 證明 2 思路分析與證明 : 3 輔助線 : 四邊形四邊中點連線性質 : 例 ABCD E F G H AC 6 BD 8 EFGH AC BD 14 E A H B F C G D

財務委員會審核二零一五至一六年度開支預算管制人員的答覆

或 者 紅 外 線 都 很 明 顯, 顯 示 它 是 又 厚 又 高 的 雲 (C) 丙 處 的 雲 為 對 流 發 展 旺 盛 的 積 雨 雲, 所 以 在 可 見 光 雲 圖 較 明 顯, 而 紅 外 線 雲 圖 較 暗 淡 (D) 甲 處 的 雲 主 要 是 低 層 雲, 所 以 在 可 見

zt

耶 穌 來 到 地 上, 祂 復 活! 借 著 祂 從 死 裡 的 復 活, 祂 走 出 墳 墓 的 時 候, 祂 釋 放 出 復 活 的 大 能 這 個 復 活 的 大 能 大 到 一 個 地 步, 進 到 那 一 些 已 睡 的 聖 徒, 他 們 醒 了, 進 到 他 們 的 裡 面, 他 們

框架

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

untitled



Transcription:

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

3.1 条件的描述 3.1.1 关系运算 Python 的关系运算符有 : <( 小于 ) <=( 小于等于 ) >( 大于 ) >=( 大于等于 ) ==( 等于 )!=( 不等于 ) 关系运算符用于两个量的比较判断 由关系运算符将两个表达式连接起来的式子就称为关系表达式, 它用来表示条件, 其一般格式为 : 表达式 1 关系运算符表达式 2 例如,i+j==k,a<b+c

3.1.2 逻辑运算 1. 逻辑运算符 Python 的逻辑运算符有 : and( 逻辑与 ) or( 逻辑或 ) not( 逻辑非 ) 其中 and 和 or 运算符要求有两个运算量, 用于连接两个条件, 构成更复杂的条件 not 运算符只作用于后面的一个逻辑量

2. 逻辑表达式逻辑表达式是用逻辑运算符将逻辑量连接起来的式子 除 not 以外,and 和 or 构成的逻辑表达式一般形式为 : P 逻辑运算符 Q 其中 P,Q 是两个逻辑量

例写出下列条件 (1) 判断年份 year 是否为闰年 (2) 判断 ch 是否为小写字母 (3) 判断 m 能否被 n 整除 (4) 判断 ch 既不是字母也不是数字字符 条件 1:(year%4==0 and year%100!=0) or year %400==0 条件 2:ch>='a' and ch<='z' 条件 3:m%n==0 或 m- m/n*n==0 条件 4: not((ch>='a' and ch<='z') or (ch>='a' and ch<='z') or (ch>='0' and ch<='9'))

3. 逻辑运算的重要规则逻辑与 (and) 和逻辑或 (or) 运算分别有如下性质 : (1)a and b: 当 a 为 False 时, 不管 b 为何值, 结果为 False (2)a or b: 当 a 为 True 时, 不管 b 为何值, 结果为 True 对于 a and b, 当 a 的可解释为 False, 则表达式值为 False, 否则表达式的值为 b; 对于 a or b, 如果 a 为 False, 则表达式的值为 b, 否则表达式值为 True

3.1.3 测试运算 1. 成员测试 in 运算符用于在指定的序列中查找某个值是否存在, 存在返回 True, 否则返回 False 该运算符的使用格式是 x in y, 如果 x 在 y 序列中则返回 True, 否则返回 False 例如 : >>> 3 in(20,15,3,14,5) True

not in 的含义是, 如果在指定的序列中没有找到值, 则返回 True, 否则返回 False 对于 x not in y, 如果 x 不在 y 序列中返回 True, 否则返回 False 例如 : >>> 3 not in(20,15,3,14,5) False

2. 身份测试身份运算符用于测试两个变量是否指向同一个对象 例如 : >>> a=20 >>> b=20 >>> a is b True >>> a is not b False

3.2 选择结构的实现 3.2.1 单分支选择结构可以用 if 语句实现单分支选择结构, 其一般格式为 : if 表达式 : 语句块

单分 支 if 语句的执 行过程

例 3-2 输入两个整数 a 和 b, 先输出较大数, 再输出较小数 分析 : 输入 a,b, 如果 a<b, 则交换 a 和 b, 否则不交换, 最后输出 a,b 程序如下 : a,b=eval(input(" 输入 a,b:")) if a<b: # 若 a<b, 交换 a 和 b, 否则不交换 a,b=b,a print("{0},{1}".format(a,b))

3.2.2 双分支选择结构可以用 if 语句实现双分支选择结构, 其一般格式为 : if 表达式 : 语句块 1 else: 语句块 2

双分 支 if 语句的执 行过程

例输 入三 角形的三个边 长, 求三 角形的 面积 分析 : 设 a,b,c 表 示三 角形的三个边 长, 则构成三 角形的充分必要条件是任意两边之和 大于第三边, 即 a+b>c,b+c>a, c+a>b 如果该条件满 足, 则可按照海伦公式计算三 角形的 面积 : s = p(p a)(p b)(p c) 其中 p=(a+b+c)/2

程序如下 : from math import * a,b,c=eval(input("a,b,c=")) if a+b>c and a+c>b and b+c>a: p=(a+b+c)/2 s=sqrt(p*(p- a)*(p- b)*(p- c)) print("a={0},b={1},c={2}".format(a,b,c)) print("area={}".format(s)) else: print("a={0},b={1},c={2}".format(a,b,c)) print("input data error")

例输入 x, 求对应的函数值 y 分析 : 这是一个具有两个分支的分段函数, 为了求函数值, 可以采用双分支结构来实现 程序如下 : from math import * x=eval(input("x=")) if x<0: y=log(- 5*x)+fabs(x) else: y=sin(x)+sqrt(x+exp(2))/(2*pi) print("x={},y={}".format(x,y))

还可以采用两个单分支结构来实现, 程序如下 : from math import * x=eval(input("x=")) if x<0: y=log(- 5*x)+fabs(x) if x>=0: y=sin(x)+sqrt(x+exp(2))/(2*pi) print("x={},y={}".format(x,y)) 思考 : 第一个 if 语句能否不写, 并分析原因 第二个 if 语句能否不用, 并分析原因

3.2.3 多分支选择结构多分支 if 语句的一般格式为 : if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 elif 表达式 m: 语句块 m [else: 语句块 n]

多分 支 if 选择结构的执 行过程

例输入学生的成绩, 根据成绩进行分类, 85 以上为优秀,70~84 为良好,60~69 为及格,60 以下为不及格 分析 : 将学生成绩分为四个分数段, 然后根据各分数段的成绩, 输出不同的等级 程序分为四个分支, 可以用四个单分支结构实现, 也可以用多分支 if 语句实现

程序如下 : g=float(input(" 请输入学生成绩 :")) if g<60: print(" 不及格 ") elif g<70: print(" 及格 ") elif g<85: print(" 良好 ") else: print(" 优秀 ")

3.2.4 选择结构的嵌套 if 语句中可以再嵌套 if 语句, 例如, 有以下不同形式的嵌套结构 语句一 : if 表达式 1: if 表达式 2: 语句块 1 else: 语句块 2 语句二 : if 表达式 1: if 表达式 2: 语句块 1 else: 语句块 2

3.3 条件运算 Python 的条件运算有三个运算量, 其一般格式为 : 表达式 1 if 表达式 else 表达式 2 条件运算的运算规则是, 先求 if 后面表达式的值, 如果其值为 True, 则求表达式 1, 并以表达式 1 的值为条件运算的结果 如果 if 后面表达式的值为 False, 则求表达式 2, 并以表达式 2 的值为条件运算的结果 例如,z=x if x>y else y

例生成 3 个两位随机整数, 输出其中最大的数 这里用条件运算表达式来实现, 程序如下 : import random x=random.randint(10,99) y=random.randint(10,99) z=random.randint(10,99) max=x if x>y else y max=max if max>z else z print("x={0},y={1},z={2}".format(x,y,z)) print("max=",max)

3.4 选择结构程序举例 例输入一个整数, 判断它是否为水仙花数 所谓水仙花数, 是指这样的一些三位整数 : 各位数字的立方和等于该数本身, 例如 153=1 3 +5 3 +3 3, 因此 153 是水仙花数 分析 : 关键的一步是先分别求三位整数个位 十位 百位数字, 再根据条件判断该数是否为水仙花数

例输入一个时间 ( 小时 : 分钟 : 秒 ), 输出该时间经过 5 分 30 秒后的时间 hour=int(input(' 请输入小时 :')) minute=int(input(' 请输入分钟 :')) second=int(input(' 请输入秒 :')) second+=30 if second>=60: second=second- 60 minute+=1 minute+=5 if minute>=60: minute=minute- 60 hour+=1 if hour==24: hour=0 print('{0:d}:{1:d}:{2:d}'.format(hour,minute,second))

例硅谷公司员工的工资计算方法如下 : (1) 工作时数超过 120 小时者, 超过部分加发 15% (2) 工作时数低于 60 小时者, 扣发 700 元 (3) 其余按每小时 84 元计发 输入员工的工号和该员工的工作时数, 计算应发工资

分析 : 为了计算应发工资, 首先分两种情况, 即工时数小于等于 120 小时和大于 120 小时 工时数超过 120 小时时, 实发工资有规定的计算方法 而工时数小于等于 120 小时时, 又分为大于 60 和小于等于 60 两种情况, 分别有不同的计算方法 所以程序分为 3 个分支, 即工时数 >120 60< 工时数 120 和工时数 60, 可以用多分支 if 结构实现, 也可以用 if 的嵌套实现

例输入年月, 求该月的天数 分析 : 用 year month 分别表示年和月, day 表示每月的天数 考虑到以下两点 (1) 每年的 1 3 5 7 8 10 12 月, 每月有 31 天 ;4 6 9 11 月, 每月有 30 天 ; 闰年 2 月有 29 天, 平年 2 月有 28 天 (2) 年份能被 4 整除, 但不能被 100 整除, 或者能被 400 整除的年均是闰年