Python系统教程008-条件判断(二)

news2025/2/28 12:43:49

知识回顾

1、if语句的基本语法?

2、常用 的比较运算符有哪些?

3、注释的分类以及格式

4、else处理条件不满足的情况

练习:

地板上有n个石子,猫头鹰和小兔子正在玩取石子的游戏,从猫头鹰开始,轮流取石子,每次每个动物取走一个石子,猫头鹰能获胜吗?规则如下:

流程图:

输入格式:一个正整数n,表示石子的个数,满足1 <= n <= 100
输出格式:如果猫头鹰能赢,输出Yes,否则输出No
编写程序:

m='猫头鹰'
t='小兔子'
n=int(input('请输入一个整数'))
if 1<=n<=100 and n%2==0:
    print('No')
else:
    print('Yes')

一、逻辑运算符

当多个条件同时成立,才能实现某一件事情。在Python中,可以利用'逻辑与'运算符来表示上述情况。

除了'逻辑与'运算符,Python中还有哪些常见的运算符呢?

例如:

小明即将要进行期末考试,妈妈说,如果语文和数学都达到90分(包含)以上,就带他去旅游;如果小明只有数学或者语文成绩达到90 (包含)分以上,就带他去游乐园玩;如果两科成绩都没有达到90 (包含)分以上,就在家继续努力学习。

小明在本子上列出了这样一个表格来激励自己。

思考一下,如果小明语文考了92分,数学考了93分, 那么他可以得到什么奖励呢?

答:小明既可以去旅游,也能去游乐园玩耍。

在Python中,如何用代码去表示 并且、或者的含义呢?

运用逻辑运算符运算的结果是布尔类型的数据,要么是False,要么是True。

not是取反的意思,能够将True改变为False,将False改变为True。

逻辑运算符优先级:not > and > or。

小明现在想要编写一个根据成绩来判断自己能够得到什么奖励的程序,请你帮帮它。

chinese=float(input('请输入语文成绩'))
mathematics=float(input('请输入数学成绩'))
if chinese>=90 and mathematics>=90:
    print('去旅游')
if chinese>=90 or mathematics>=90:
    print('去游乐园')
else:
    print('在家继续努力学习')

练习:

习题1

某商店笔记本有促销活动,规定购买6本以上(含6本)10本以下(含10本)打九折,购买11本以上(含11本)打八折。给定笔记本单价和购买数量,请问购买总费用。

输入格式:
第一行一个整数s,表示购买s本笔记本。
第二行一个实数p,表示笔记本单价是p。

输出格式:输出一行,表示总费用。保留小数点后一位。
代码:

s=int(input('请输入购买笔记本数量'))
p=float(input('请输入笔记本单价'))
pice=1.0   #不打折单价
if s<6:
    pice=1.0
if s>=6 and s<=10:
    pice=0.9
if 11<=s:
    pice=0.8
sum=s*p*pice
print('%.1f'%sum)

习题2

给出年份x,判断是否是闰年。是闰年则输出"x年是闰年",否则输出"x年不是闰年" 。

样例输入:1996

样例输出:1996年是闰年

平年和闰年的三种判断方法:

①、普通年能被4整除且不能被100整除的为闰年。否则为平年。(如2004年就是闰年,1900年不是闰年)

②、世纪年能被400整除的是闰年。否则为平年。(如2000年是闰年,1900年不是闰年)

③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。否则为平年。如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)。

x=int(input())
if x%400==0 or (x%100>0 and x%4==0):
    print('%d年是闰年'%x)
else:
    print('%d年不是闰年'%x)

elif的使用

在python中,应用if语句可以快速地实现程序的分支选择,但是当分支比较多时,用if-elif-else语句来实现比较方便。

if-elif-else语句格式:

功能: 依次判断每个分支的条件表达式,当某条件满足,则执行相应的语句,且其余分支不再执行。若条件都不满足,且有else语句,则执行该语句块,否则什么也不执行。

注意:  

  1. 当有三种或三种以上情况时使用elif语句比较方便。  
  2. 此处的条件表达式指的是需要判断的条件是否成立。  
  3. 当某种情况满足时,执行相应的语句,且其余分支不再执行。  
  4. else部分可以省略。

习题3

某城市轨道交通实行分段计程票价,起步价为5站以内(含5站)票价2元;乘坐5站以上10站以下(含10站)票价3元;乘坐10站以上16站以下(含16站)票价4元;乘坐16站以上票价5元。 给定乘坐的站数,请问票价是多少?

输入格式:一个整数n表示乘坐的站数。

输出格式:如样例所示。

样例输入:8

样例输出:票价3元

n=int(input('请输入乘坐站数'))
p=0
if n<5:
   p=2
elif n>5 and n<20:
    p=3
elif n>10 and n<16:
    p=5
else:
    print('感谢配合')
sum=p
print(sum)

习题4

输入身高体重,计算身体质量指数BMI值,并给出健康信息。

BMI指数参考标准表如下:

输入格式:输入两个实数,第一行是身高(米),第二行是体重(千克)。

输出格式:第一行是实数BMI,保留小数点后1位。                  

第二行是健康情况,分为'偏瘦' ,'正常','偏胖','肥胖', '重度肥胖','极度肥胖'。    

样例输入:1.75                   68

样例输出:22.2                   正常        

   

height=float(input('请输入身高'))
weight=float(input('请输入体重'))
bmi=weight/(height**2)
if bmi<18.5:
    print('偏瘦')
elif bmi>=18.5 and bmi<=25:
    print('正常')
elif bmi>=25 and bmi<=30:
    print('偏胖')
elif bmi>=30 and bmi<=35:
    print('肥胖')
elif bmi>=35 and bmi<=40:
    print('重度肥胖')
elif bmi>=40:
    print('极度肥胖')

if嵌套语句

在Python中,if-else语句中可以嵌套if-elif-else语句。

首先先判断输入的成绩是否合法,如果合法,再判断成绩的等级,否则直接输出非法数据。

注意:  

  1. 如果需要在某个前提或某几个前提下做某事,可以使用if嵌套语句  
  2. if语句中可以嵌套if语句,也可以嵌套if-else语句,还可以嵌套if-elif-else语句  
  3. elif或者else中也可以嵌套if语句、if-else语句、if-elif-else语句。

火车安检

坐火车是需要先查看旅客是否有车票,若没车票,则不让进站;然后再进行安检,若携带刀具不超过10cm则安检通过后可上车,否则不让上车。

外条件:有票才能进站,没票不让进站。

内条件:携带刀具不超过10cm才能上车,否则不能上车。

tickes=0    #0表示没票,1表示有票
kinef_len=2
if tickes==1:
    print('有票')
    if kinef_len<=10:
        print('安检通过')
    elif kinef_len>10:
            print('安检不通过')
else:
    print('没票')

习题5

现有两个相距25km的监测点,给定汽车经过两个监测点的时间。请判断汽车是否超速,以及超速的严重程度。

输入格式:一个整数t,表示汽车经过两个监测点的时间差是t秒。

输出格式:输出有两行。

第一行输出平均车速,保留一位小数

第二行判断超速情况。

如果汽车没有超速,则输出'正常';否则根据情况输出: (1)100<v<120,输出"超过规定时速且不足20%" (2)120<=v<150,输出"超过规定时速20%以上且不足50%" (3)150<=v<170,输出"超过规定时速50%以上且不足70%"   (4)v>=170,输出"超过规定时速70%以上"

s=25    #两个监测点相距25km
t=int(input())  #输入通过监测点的时间
v=s*3600/t  #3600是秒和小时的单位换算
print('%.1f'%v)
if v<=100:
    print('正常')
elif v<=120:
    print('超过规定时速且不足20%')
elif v<=150:
    print('超过规定时速20%以上且不足50%')
elif v<=170:
    print('超过规定时速50%以上且不足70%')
else:
    print('超过规定时速70%以上')

习题7

编写程序,计算下列分段函数y=f(x)的值,结果保留到小数点后三位。

输入格式:一个浮点数N,0<=N<20

输出格式:输出N对应的分段函数值:f(N)。结果保留到小数点后三位

#分段函数
x=float(input('请输入一个数字'))

if 0<=x and x<5:
        y=-x+2.5
elif 5<=x and x<10:
        y=2-1.5*(x-3)*(x-3)
else:
    
        y=x/2.0-1.5

print('%.3f'%y)

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

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

相关文章

爬虫逆向学习(十四):分享一下某数通用破解服务开发经验

阅前须知 这篇博客不是教大家怎么实现的&#xff0c;而且告知大家有这个东西&#xff0c;或者说一种趋势&#xff0c;借此分享自己大致的实现经验。具体的实现我也不好整理&#xff0c;毕竟是在别人的基础上缝缝补补。 前言 使用补环境方式破解过某数的同学都知道&#xff0…

知识分享第二十八天-数学篇一

组合.二项式定理.常见导数 组合 让我们通过一个具体的例子来理解组合&#xff08;Combinations&#xff09;的概念 假设你有一个装有5个不同颜色球的袋子&#xff1a;红、蓝、绿、黄和紫。你想从中随机抽取3个球&#xff0c; 不考虑顺序&#xff0c;那么你可以有多少种不同的…

Kruskal最小生成树算法正确性证明

Kruskal: 每次考虑最短一条边, 如果会形成回路则不选择该边, 如果不会形成回路则选择该边, 直到选出了n-1条边 要点: 每次都选择不会形成回路的最短边 数学归纳法 ① n<2时, 显然成立 ② 设n k时成立, 则当n k1时: 将图划分为 子图A(k) 和 B(1) ∵ n k时成立 ∴ A(k)可…

Liveweb视频汇聚平台支持WebRTC协议赋能H.265视频流畅传输

随着科技的飞速发展和网络技术的不断革新&#xff0c;视频监控已经广泛应用于社会各个领域&#xff0c;成为现代安全管理的重要组成部分。在视频监控领域&#xff0c;视频编码技术的选择尤为重要&#xff0c;它不仅关系到视频的质量&#xff0c;还直接影响到视频的传输效率和兼…

iPhone苹果相册视频怎么提取音频?

在数字时代&#xff0c;视频已成为我们记录生活、分享故事的重要方式。然而&#xff0c;有时候我们只想保留视频中的音频部分&#xff0c;比如一段动人的背景音乐或是一段珍贵的对话。那么&#xff0c;苹果相册视频怎么提取音频呢&#xff1f;本文将介绍三种简单且实用的方法&a…

【图像配准】方法总结

图像配准(Image registration)就是将不同时间、不同传感器&#xff08;成像设备&#xff09;或不同条件下&#xff08;天候、照度、摄像位置和角度等&#xff09;获取的两幅或多幅图像进行匹配、叠加的过程&#xff0c;就是找到1幅图像像素到另1幅图像像素间的空间映射关系它已…

专业140+总分400+北京理工大学826信号处理导论考研经验北理工电子信息与通信工程,真题,大纲,参考书。

考研总分400&#xff0c;专业826信号处理导论&#xff08;信号与系统和dsp&#xff09;140&#xff0c;成功上岸北理工&#xff0c;虽然已经一段时间&#xff0c;但是后劲很大&#xff0c;每每回想还是昨日事&#xff0c;群里同学多次要求分享自己的一些经验&#xff0c;感谢大…

ReactPress最佳实践—搭建导航网站实战

Github项目地址&#xff1a;https://github.com/fecommunity/easy-blog 欢迎Star。 近期&#xff0c;阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress&#xff0c;ReactPress一个基于 Next.js 的博客和 CMS 系统&#xff0c;可查看 demo站点。&#xff08;…

Windows 环境实战开源项目GFPGAN 教程

GFPGAN GFPGAN&#xff08;Generative Facial Prior-GAN&#xff09;是由腾讯ARC&#xff08;Applied Research Center&#xff09;开发的一种实用的真实世界人脸修复算法。它专门设计用于人脸图像的生成和优化&#xff0c;尤其在低质量人脸图像的超分辨率恢复方面表现出色。以…

链表的应用

尾删 int tail_del (linkListPtr S) { if(NULL S || empty(S)) { printf("失败\n"); return 0; } linkListPtr q S; for(int i0 ; i<S->len-1;i) { qq->next; } free(q->next); q->n…

一个小工具

院内感染监控系统 开发工具Delphi7 报表工具FastReport unit U_Ymjg;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, RzButton, ExtCtrls, RzPanel, ImgList, Grids, RzGrids, StdCtrls,RzCmboBx, DB, ADODB;typeTFrm_ym…

Python:程序中如何引用环境变量

应用场景&#xff1a;具有安全性的信息&#xff08;如密钥&#xff09;&#xff0c;为方式代码提交被同时提交到公共环境&#xff08;如git&#xff09;&#xff0c;可以通过环境变量配置后&#xff0c;在代码中直接引用。 优点&#xff1a;安全、复用性强、持久化&#xff08…

电力场景绝缘子缺陷识别分割数据集labelme格式1099张3类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;1099 标注数量(json文件个数)&#xff1a;1099 标注类别数&#xff1a;3 标注类别名称:["brokenpart","brokeninsulator…

C++ -- 哈希表封装实现unordered_map 和 unordered_set

本章内容分为源码看框架讲解和结构模拟实现两部分&#xff0c;源码框架是让我们了解容器结构在设计时的思路&#xff0c;模拟实现才是重点。因此如果在看源码结构式感到疑惑&#xff0c;不妨继续往下看&#xff0c;相信一切都会慢慢了解~ 源码及框架分析 在C98 / SGI-STL30版本…

修改vscode中emmet中jsx和tsx语法中className的扩展符号从单引号到双引号 - HTML代码补全 - 单引号双引号

效果图 实现步骤 文件 > 首选项 > 设置搜索“”在settings.json中修改&#xff0c;增加 "emmet.syntaxProfiles": {"html": {"attr_quotes": "single"},"jsx": {"attr_quotes": "double","…

CSS学习记录12

CSS浮动 CSSfloat属性规定元素如何浮动 CSSclear属性规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。 float属性 float属性用于定位和格式化内容&#xff0c;例如让图像向左浮动到容器的文本那里。 float属性可以设置以下值之一&#xff1a; left - 元素浮动到其容器…

IDEA搭建SpringBoot,MyBatis,Mysql工程项目

目录 一、前言 二、项目结构 三、初始化项目 四、SpringBoot项目集成Mybatis编写接口 五、代码仓库 一、前言 构建一个基于Spring Boot框架的现代化Web应用程序&#xff0c;以满足[公司/组织名称]对于[业务需求描述]的需求。通过利用Spring Boot简化企业级应用开发的优势&…

Redis应用—4.在库存里的应用

大纲 1.库存模块设计 2.库存缓存分片和渐进式同步方案 3.基于缓存分片的下单库存扣减方案 4.商品库存设置流程与异步落库的实现 6.库存入库时"缓存分片写入 渐进式写入 写入失败进行MQ补偿"的实现 7.库存扣减时"基于库存分片依次扣减 合并扣减 扣不了…

25. 深浅拷贝

一、什么是浅拷贝 只对对象的最顶层进行的拷贝称为 浅拷贝。我们可以用 copy 模块中的 copy() 方法实现浅拷贝。 import copya [11, 22, 33] b [44, 55, 66] c [a, b] d copy.copy(c)print(f"c: {c}") print(f"d: {d}") print(f"c d: {c d}&q…

【GCC】2015: draft-alvestrand-rmcat-congestion-03 机器翻译

腾讯云的一个分析,明显是看了这个论文和草案的 : 最新的是应该是这个 A Google Congestion Control Algorithm for Real-Time Communication draft-ietf-rmcat-gcc-02 下面的这个应该过期了: draft-alvestrand-rmcat-congestion-03