Python 实验三 控制语句

news2024/12/24 14:44:00

1.从键盘接收整数的一百分制成绩(0到100),要求输出其对应的成绩等级A-E。其中,90分(包含)以上为A,80-89(均包含)分为B,70-79(均包含)分为C,60-69(均包含)分为D,60分以下为E。

n=int(input("请输入成绩(0~100):"))
if n<0 or n>100:
    print("输入错误!请重新输入。")
elif n>=90:
    print("A")
elif n>=80 and n<=89:
    print("B")
elif n>=70 and n<=79:
    print("C")
elif n>=60 and n<=69:
    print("D")
else:
    print("E")

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.预设一个0~9之间的整数,让用户猜一猜并输入所猜的数。如果大于预设的数,显示“太大”;小于预设的数,显示“太小”。如此循环,直至猜中该数,显示“恭喜!你猜中了!”。

while True:
    a=7
    n=int(input("请输入你猜的数(0~9):"))
    if n>a:
        print("太大")
    elif n<a:
        print("太小")
    else:
        print("恭喜!你猜中了")
        break

在这里插入图片描述
3.某电商平台上销售不同规格包装、不同价格的水笔。编写程序,在不考虑运费的情况下,从键盘分别输入两种水笔的包装和价格,分别计算单根水笔的价格,根据价格就低原则打印输出选择购买哪种产品。

flag='Y'
i=0
minPrice=float('Inf')       #最大值
k=0
while flag.upper()=='Y':
    i+=1
    packageNumber=eval(input('请输入第'+str(i)+'种笔的包装支数:'))
    packagePrice=eval(input('请输入第'+str(i)+'种笔每包的价格:'))
    perPrice=packagePrice/packageNumber
    print('第',i,'种笔的单支价格为:',perPrice,sep="")

    if perPrice<minPrice:
        minPrice=perPrice       #记录截止目前的最低均价
        k=i                     #记录截止目前的最低均价种类序号

    flag=input('是否继续输入下一种笔的信息(Y/N)?')
    

if k!=0:
    print("第",k,"种笔的均价最低,单根笔的价格为:",minPrice,sep="")

在这里插入图片描述
4.输出1000以内的素数以及这些素数之和(素数,是指除了1和该数本身之外,不能被其他任何整数整除的数)。

prime = []
for i in range(2,1000):
    affirm = True
    for j in prime:
        if i % j == 0:
            affirm = False
    if affirm == True:
        prime.append(i)
print(prime)
print('sum=',sum(prime))

在这里插入图片描述
5.输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。

hour,minute,second=input('请输入一个时间(h:m:s):').split(':')
hour=int(hour)
minute=int(minute)
second=int(second)
 
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(hour,minute,second,sep=':')

在这里插入图片描述
6.编写程序,按公式s=1²+22+3°+…+n²求累加和s不超过1000的最大项数n,程序运行结果如下所示:
n s
1 1
2 5
3 14
4 30
5 55
6 91
7 140
8 204
9 285
10 385
11 506
12 650
13 819
14 1015
累计和不超过1000的最大项是n=13。

n=1
s=0
print('n\ts')
while s<1000:
    s+=n*n
    print(n,'\t',s)
    n+=1
print('累计和不超过的最大项数n=',n-2)

在这里插入图片描述
【实验总结】
1、单分支if语句
(1)if语句由四部分组成:关键字if、条件表达式、冒号、表达式结果为真(包括非零、非空)时要执行的语句体。
(2)其语法形式如下所示
if 条件表达式:
语句体
(3)单分支if语句先判断条件表达式值的是真还是假。
如果判断的结果为真(包括非零、非空),则执行语句体中的操作;
如果条件表达式的值为假(包括零、空),则不执行语句体中的操作。
(4)语句体既可以包含多条语句,也可以只由一条语句组成。当语句体由多条语句组成时,要有统一的缩进形式,否则可能会出现逻辑错误或导致语法错误。
2、双分支if/else语句
(1)双分支if/else语句的语法形式如下所示
if 条件表达式:
语句体1
else:
语句体2
(2)if/else语句是一种双分支结构,先判断条件表达式值的真假:
如果条件表达式的结果为真(包括非零、非空),则执行语句体1中的操作;
如果条件表达式为假(包括零、空),则执行语句体2中的操作。
(3)语句体1和语句体2既可以包含多条语句,也可以只由一条语句组成。
3、多分支if/elif/else语句
(1)多分支if/elif/else语句的语法形式如下所示:
if 条件表达式1 :
语句体1
elif 条件表达式2 :
语句体2
……
elif 条件表达式n-1 :
语句体n-1
else:
语句体n
语句体1,语句体2,……,语句体n,既可以包含多条语句,也可以只由一条语句组成。
4、while语句
(1)简单的while语句结构如下:
while 条件表达式:
循环体
(2)简单的while循环由关键字while、条件表达式、冒号、循环体构成。
(3)while语句的执行过程:
①计算while关键词后面的条件表达式值;如果其值为真(包括非零、非空),则转步骤②,否则转步骤(3);
②执行完循环体,转步骤1;
③循环结束。
循环开始之前,如果while关键词后面的条件表达式为假(包括零、空),则不会进入循环体,直接跳过循环部分。如果一开始while关键词后面的条件表达式为真(包括非零、非空),则执行循环体;
每执行完一次循环体,重新计算while关键词后面的条件表达式值,若为真,则继续执行循环体;循环体执行结束后重新判断while关键词后面的条件表达式;直到该条件表达式的值为假(包括零、空),则结束循环。
(4)跟if语句比较,相同点和区别如下:
相同点:两者都由表达式和冒号,以及缩进的语句体组成。并且都是在表达式的值为真时执行语句体。
不同点: if语句执行完语句体后,马上退出if语句。while语句执行完语句体后,立刻又返回到条件表达式重新计算,只要条件表达式的值为真,它会一直重复这一过程,直到条件表达式为假才结束循环。
(5)使用while语句时,有四点要注意:
①组成循环体的各语句必须是以相同的格式缩进。
②循环体既可以由单个语句组成,也可以由多条语句组成。如果语句尚未确定,可以暂时使用pass语句表示空操作,但不能没有任何语句。
③循环体中要有语句改变某个变量的值,使得条件表达式因为该变量值的改变而可能出现结果为假(包括零、空),从而能够导致循环终止,否则会造成无限循环。这个变量通常被称为循环控制变量。
(6)Python对大小写敏感,关键字while必须小写。
(7)while循环既可以用于解决循环次数确定的问题,也可以用于解决循环次数不确定的问题。
5、for语句
(1)for语句通过遍历一个序列(字符串、列表、元组)或迭代器等可迭代对象中的每个元素来建立循环。
(2)for语句的语法形式如下所示:
for 变量 in 序列或迭代器等可迭代对象:
循环体
(3)循环开始时,for关键词后面的循环控制变量从in关键词后面的可迭代对象中取值,如果没有取到值,则不进入循环;如果可迭代对象中有值可取,则取到最前面的值,接着执行循环体。循环体执行完成后,循环控制变量继续取可迭代对象的下一个值,如果没有值可取了,则终止循环;否则取到下一个值后继续执行循环体;然后重复以上过程,直到可迭代对象中没有值可取,循环终止。
6、函数range
(1)Python 3开始,函数range返回可迭代对象。本节以遍历range函数返回的可迭代对象为例,讲解用for循环遍历可迭代对象。
(2)range函数的语法格式如下:
range(start, stop[, step])
(3)功能:
产生一个从start开始(包括start),到stop结束(不包括stop),两个整数对象之间间隔step的可迭代对象。
(4)参数说明:
start:可迭代对象的开始值为start,默认是从 0 开始。例如range(6)等价于range(0, 6);
end:可迭代对象到end结束,但不包括end。例如:range(0, 6)产生包含0, 1, 2, 3, 4,5的可迭代对象,但没有6;
step:步长,表示所产生的可迭代对象元素之间的间隔,默认为1。例如:range(0, 6)等价于range(0, 6, 1)。步长也可以是负数,这时开始值大于结束值。
7、break语句和continue语句
(1)break语句可以用在while和for循环中。在循环进行过程中,如果某个条件被满足(一般通过if语句判断是否满足执行break语句的条件),则可以通过break语句立即终止本层循环。如果break语句在具有两层循环嵌套的内层循环中,则只终止内层循环,进入到外层循环的下一条语句继续执行。
(2)continue语句可以用在while和for循环中。在循环体执行过程中,如果遇到continue语句,程序会跳过本次循环的循环体剩余语句,回到循环开始的地方重新判断是否进入下一次循环。
(3)break语句与continue语句的主要区别:
break语句一旦被执行,则整个当前循环将被终止;
continue语句的执行不会终止整个当前循环,只是提前结束本次循环,跳过循环体中本次循环的剩余语句,提前进入到下一次循环。
8、带else的循环语句
(1)与一般程序设计语言不同,Python中的while和for语句后面还可以带有else语句块。
(2)带else的while语句语法如下:
while 条件表达式:
循环体
else:
else语句块
①当条件表达式为真(True、非空、非零)时,反复执行循环体。当循环因为while后面的条件表达式为假(False、零、空)而导致循环终止(或无法进入循环),else语句块执行一次,然后结束该循环结构。
②如果该循环是因为执行了循环体中的break语句而导致循环终止,else语句块不会执行,直接结束该循环结构。
(3)带else的for语句语法如下:
for 变量 in 序列或迭代器等可迭代对象:
循环体
else:
else语句块
①当变量能够从in后面的可迭代对象中取到值,则执行循环体。循环体执行结束后,变量重新从可迭代对象中取值。
②当变量从in后面的可迭代对象中取不到新的值,则循环终止,else语句块执行一次,然后终止循环结构。
③当循环是因为循环体中执行了break语句而导致终止,则else语句块不执行,直接终止循环结构。
9、循环的嵌套
(1)循环的嵌套是指在一个循环中又包含另外一个完整的循环,即循环体中又包含循环语句。循环嵌套的执行的过程:先进入外层循环第1轮,然后执行完所有内层循环,接着进入外层循环第2轮,然后再次执行完内层循环,…,直到外层循环执行完毕。
(2)While循环里面可以嵌套有while循环,for循环里面可以嵌套有for循环。同时,while循环和for循环也可以相互嵌套。

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

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

相关文章

[网络安全] Windows Server 设置文件屏蔽防止黑客利用漏洞上传特定类型的非法文件

我在负责网站运维期间&#xff0c;遇到过一次黑客利用网站内使用的开源文件上传工具漏洞上传非法文件&#xff08;可执行脚本&#xff09; 我是通过设置文件屏蔽来防止此类事件的再次发生。特在此做下记录。 文章目录前言一、黑客是怎么攻击我的二、我是怎么防范的2.1 Windows …

我学习网络安全的心得

我的学习心得&#xff0c;我认为能不能自学成功的要素有两点。 第一点就是自身的问题&#xff0c;虽然想要转行学习安全的人很多&#xff0c;但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习安全&#xff0c;这是完全不可能的。 所以能不能学成并…

Matplotlib 二维图像绘制方法

Matplotlib 二维图像绘制方法 介绍 Matplotlib 是支持 Python 语言的开源绘图库,因为其支持丰富的绘图类型、简单的绘图方式以及完善的接口文档,深受 Python 工程师、科研学者、数据工程师等各类人士的喜欢。本次实验课程中,我们将学会使用 Matplotlib 绘图的方法和技巧。…

GitHub的简介与Idea集成Git

六大基础功能 &#xff1a; 创建远程库、代码推送&#xff08;Push&#xff09;、代码拉取&#xff08;Pull&#xff09;、代码克隆&#xff08;Clone&#xff09;、SSH免密登录、Idea集成GitHub GitHub 网址&#xff1a;https://github.com/ 1.创建远程仓库 登录后的页面右上…

亚马逊云科技帮助BMW Financial Services设计和构建数据架构

BMW Group和亚马逊云科技于2020年宣布达成全面战略合作。在re:Invent2019上&#xff0c;BMW和亚马逊云科技展示了新的云数据中心平台&#xff0c;先是大致介绍了不同的数据平台原型&#xff0c;然后介绍了构建BMW Group云数据中心的过程。Amazon Data Lab使用亚马逊云科技的云数…

Volatile关键字的作用探究

前言 今天下午BOSS上投了个简历小试了一波水&#xff0c;结果被问到一个知识点volatile关键字的作用&#xff0c;我回答了线程的可见性&#xff0c;另一个死活想不起来是什么&#xff0c;当回到工位上看了眼笔记&#xff0c;才想起来。这种知识点其实平时使用的频率还是挺高的…

Phaser笔记-scene中的preload、create、update、player、键盘控制

一般phaser最简单的配置文件如下&#xff1a; let config {type: Phaser.AUTO,width: 800,height:600,scene: {preload: preload,create: create,update: update},physics:{default: arcade,arcade: {gravity: { y: 300},debug: false}}};其中scene有3个函数&#xff1a;prel…

CI570 3BSE001440R1适用于数字功能需求较多的设计

CI570 3BSE001440R1适用于数字功能需求较多的设计 尽管纯硅的CMOS 制程被认为仅适用于数字功能需求较多的设计&#xff0c;而不适用于以模拟电路为主的射频IC 设计&#xff0c;不过历经十几年的努力后&#xff0c;随着CMOS 性能的提升、晶圆代工厂在0.25mm 以下制程技术的配合、…

解决 Docker + selenium + chromedriver + chrome 会出现僵尸进程的问题

一、僵尸进程问题 在docker里&#xff0c;使用selenium爬虫&#xff0c; webdriver quit后&#xff0c;会产生很多僵尸进程。docker run -it -v /home/blackip:/home/blackips/ selenium:1.0python3 linux_black_ip.pytop查看僵尸进程&#xff1a;ps -ef | grep defunct查看…

微服务+springcloud+springcloud alibaba学习笔记【Ribbon的使用】(4/9)

Ribbon的使用 4/91、Ribbon负载均衡1.1 Ribbon简介1.2 Ribbon功能1.3 使用Ribbon:1.3.1 Ribbon常用负载均衡算法1.3.2 使用Ribbon1.3.3 ribbon的轮询算法原理1.3.4 手写一个负载均衡轮询算法1.3.5 启动服务,测试1、Ribbon负载均衡 1.1 Ribbon简介 Spring Cloud Ribbon是基于N…

Nestjs实战干货-概况-管道-Pipes

管道 带上装饰器 Injectable() 并实现了 PipeTransform 接口的类&#xff0c;就是管道。 管道有 2 个典型的应用场景&#xff1a; 数值转换&#xff1a;将输入的参数转换成目标类型&#xff0c;例如&#xff0c;string to number。 数值校验&#xff1a;对输入的参数进行校验…

记一次 MySQL 主从同步异常的排查记录,百转千回

本文主要内容如下&#xff1a; 一、现象 最近项目的测试环境遇到一个主备同步的问题&#xff1a; 备库的同步线程停止了&#xff0c;无法同步主库的数据更改。 备库报错如下&#xff1a; 完整的错误信息&#xff1a; Relay log read failure: Could not parse relay log even…

一文读懂【Git 工作流】

文章目录一、Git分支管理二、Git日志规范三、Git Flow工作流一、Git分支管理 我们在实际工作中会创建很多分支以便于不同场景下的开发&#xff0c;但是如果没有分支规范就会造成分支杂乱&#xff0c;大家往往也搞不清楚某一个分支是在做什么&#xff0c;下面我们就介绍一下我们…

车企围攻整车OS,这张“新王牌”怎么打?

今年2月23日&#xff0c;梅赛德斯--奔驰发布了打造自有操作系统MB.OS的具体计划&#xff0c;该操作系统将在本年代中期随全新梅赛德斯-奔驰模块化架构&#xff08;MMA&#xff09;平台推出&#xff0c;预计2025年用户将能体验到它的强大功能。 据悉&#xff0c;基于覆盖芯片到…

YOLOv8运行参数解读

整理来自yolov8官方文档常用的一些命令行参数&#xff0c;官方文档YOLOv8 Docs yolov8命令行的统一运行格式为&#xff1a; yolo TASK MODE ARGS其中主要是三部分传参&#xff1a; TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递&#xff0c;YO…

智慧水务软件-科学系统架构-数字化管理

平台概述 柳林智慧水务软件是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心&#xff0c;以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑&#xff0c;以城市水资源、水生态、水环境…

VGG论文翻译及复现

VGG网络实现&#xff1a;https://blog.csdn.net/weixin_43912621/article/details/127852595 论文地址&#xff1a;https://arxiv.org/abs/1409.1556 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 用于大规模图像识别的深度卷积网络 Abstract In t…

Salesforce Admin管理员中文学习教程,如何高效筛选出具有Admin权限的用户!

组织中最常见的错误之一就是拥有太多具有系统管理员简档的用户。不幸的是&#xff0c;这在某些行业中非常普遍。 实际上这存在着很大的潜在风险。拥有这些权限的用户可能会暴露、窃取或删除组织中的数据&#xff0c;甚至影响到其他用户。防止过多的管理员访问权限是保护Salesf…

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力

目录 专题一、Python软件的安装及入门 专题二、气象常用科学计算库 专题三、气象海洋常用可视化库 专题四、爬虫和气象海洋数据 专题五、气象海洋常用插值方法 专题六、机器学习基础理论和实操 专题七、机器学习的应用实例 专题八、深度学习基础理论和实操 专题九、深…

摸鱼也可以效率翻倍:Python 统计 gitlab 代码量,定量统计发给领导

嗨害大家好鸭&#xff01;我是爱摸鱼的芝士❤ 一、确定需求 需求是公司大领导想要了解每周研发提交的代码量。 因为研发人员比较多&#xff0c; 想着用 python 做个自动化&#xff0c; 定时统计代码量并发送邮件给领导。 二、统计gitlab代码 首先安装第三方库python-gitlab&…