【熬夜送书 | 第四期】python期末考试总结

news2024/12/23 20:27:17

在这里插入图片描述

文章目录

    • 前言
    • 单选题
    • 程序填空题
    • 函数题
    • 编程题
    • 熬夜送书 第三期


前言

博主也是第一次接触到python语言,在考试前过了一遍python语法,因为有Java基础学习起来相对比较轻松,学校考的题相对简单一些,也是PTA上机考试,大概30分钟做完就提交了,贴一张成绩单:
在这里插入图片描述

单选题

1.一行中输入两个整数语句:

a, b=input("输入两个整数:").split()

的执行步骤不包含:

A.调用input函数,在屏幕输出"输入两个整数:",并从键盘读入一行字符

B.input函数返回所读入的字符串;

C.针对所读入的字符串,执行split操作,得到两个子串

D.把第一个子串转换为整数后,赋值给变量a,把第二个子串转换为整数后,赋值给变量b

2.与关系表达式x==0等价的表达式是

A.not x

B.x!=1

C.x=0

D.x

3.已知x=10,y=20,z=30;以下语句执行后,x,y,z的值是( )。

if x<y:
    z=x
    x=y
    y=z

A.10,20,30

B.10,20,20

C.20,10,10

D.20,10,30

4.下面代码执行结束时,s的值是( )。
在这里插入图片描述

A.Hello

B.H

C.W

D.o

5.Python语句a=“Programming”[1:-1],则a的结果是()。

A.‘Programmin’

B.‘rogramming’

C.‘rogrammin’

D.‘Programming’

6.a=[2,3,4,1,6,9,8],执⾏b = [index for index, value in enumerate(a) if value > 3]后,b=( )。

A.[(2,4),(4,6),(5,9),(6,8)]

B.[3,5,6,7]

C.[4,6,9,8]

D.[2,4,5,6]

7.现有一元组:

x = (1, 2, 3, 4)

以下对元组操作正确的是( )。

A.y = x[0]

B.y = x(0)

C.x[0] = 0

D.x(0) = 0

8.可以使用____运算符来确定一个键是否在字典中。

A.&

B.in

C.^替换为正确项

D.?

9.字符串的strip方法的作用是( )。

A.删除字符串首尾指定的字符

B.删除字符串末尾指定的字符

C.删除字符串头部指定的字符

D.通过指定分隔符对字符串切片

10.关于文件关闭的 .close() 方法,以下选项中描述正确的是

A.文件处理遵循严格的 “打开 —操作 —关闭 ”模式

B.文件处理后可以不用 .close() 方法关闭文件,程序退出时会默认关闭

C.文件处理结束之后,一定要用 .close() 方法关闭文件

D.如果文件是只读方式打开,仅在这种情况下可以不用 .close() 方法关闭文件

11.d:\有一个二进制文件file1.dat,以可读可写方式打开该文件,如果写入新的内容,内容会被追加到文件尾部。以下哪个语句是正确的?

A.f=open(“d:\file1.dat”,“rb”)

B.f=open(“d:\file1.dat”,“wb”)

C.f=open(“d:\file1.dat”,“ab+”)

D.f=open(“d:\file1.dat”,“wb+”)

12.Python 类中包含一个特殊的变量(),它表示当前对象自身,可以访问类的成员。

A.self

B.me

C.this

D.there

13.以下选项中,对于函数的定义错误的是 ( )。

*A.def vfunc(a,b):

B.def vfunc(a,b):

C.def vfunc(a,*b):

D.def vfunc(a,b=2):

14.下列代码中绘制散点图的是()。

A.plt.scatter(x,y)

B.plt.plot(x,y)

C.plt.legend(‘upper left’)

D.plt.xlabel("散点图’)

15.当try语句中没有任何错误信息时,一定不会执行( )语句。

A.try

B.else

C.finally

D.except

程序填空题

2.1输入多组数,求每组数的和。
输入:第一行是整数m,m>=1,接下来就是m组数据
对于每组数据:第一行是整数n,n>= 1, 接下来是n行,每行一个整数
输出:对每组数据,输出后面那n个整数的和

m = int(input())
for i in range(m):     #m组数据
    n = int(input())
    total = 0
	for j in range(n):      #input n次
        num = int(input())
        total = total + num
    print(total)

2.2 购物车
现有列表记录商品名称和价格如下:

goods=[
{"name":"电脑","price":4999},
{"name":"鼠标","price":80},
{"name":"游艇","price":200000},
{"name":"别墅","price":2000000},
]

要求:
要求用户输入总资产,例如: 20000,输出所有商品序号和商品列表, 每行一种商品,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示’账户余额不足,先去赚钱吧!‘,否则,输出’恭 喜你成功购买一个某商品’。

输入格式:第一行输入一个正整数,代表总资产;显示商品列表后再输入一个正整数,代表商品序号。
输出格式:如示例
输入示例:10000
输出示例:
0 电脑
1 鼠标
2 游艇
3 别墅
输入示例: 1
输出示例: 恭喜你成功购买一个鼠标

goods=[
{"name":"电脑","price":4999},
{"name":"鼠标","price":80},
{"name":"游艇","price":200000},
{"name":"别墅","price":2000000},
]
#**********SPACE**********
money = int(input())
for i in range(len(goods)):
    print(i,goods[i].get('name'))
choice = int(input())
#**********SPACE**********
dj = goods[choice].get('price')
#**********SPACE**********
if dj <= money:
    print('恭喜你成功购买一个{}'.format(goods[choice].get('name')))
else:
    print('账户余额不足,先去赚钱吧!')

2.3 python正则表达式-匹配多个单词
请你使用字符组匹配Ruby、Rube、ruby、rube。
需要匹配的
ruby
rube
Ruby on Rails
Rube on Rails
不能匹配的
rubb on rails
ruyye on rails
ruee
hello world

程序写在这里。下面的空分值是3分。

例如:

import re
contents='''
ruby
rube
Ruby on Rails
Rube on Rails
rubb on rails
ruyye on rails
ruee
hello world
'''
p = re.compile(r'[Rr]ub[ye]')
for line in p.findall(contents):
    print(line)

2.4 使用函数求区间内素数和
使用函数求区间内素数和。写一个函数fun(m,n)用于求区间[m, n]内所有素数, 用户输入正整数m,n(1<=m<n)以空格间隔。
提示:找到的素数存入列表中。
输入示例:
1 10
输出示例:
17

#**********SPACE**********
def fun (m,n):         
    ls=[]
    for i in range(m,n+1):   
        if i < 2:
            continue     #0和1不是素数
        for j in range(2, i):
            if i % j == 0:
#**********SPACE**********
                break
        else:
            ls.append(i)
#**********SPACE**********
    return ls
m,n = map(int,input().split())
print(sum(fun(m,n)))

函数题

6-1 编写函数求短语的缩写词
缩写词是由一个短语中每个单词的第一个字母组成,均为大写。例如,CPU是短语“central processing unit”的缩写。
函数接口定义:

acronym(phrase);

phrase是短语参数,返回短语的缩写词

裁判测试程序样例:

/* 请在这里填写答案 */

phrase=input()
print (acronym(phrase))

输入样例:

central  processing  unit

输出样例:

CPU
def acronym(phrase):
    lis = phrase.split(" ")
    s = ""
    for i in lis:
        if  i != "":
            s += i[0]
    s = s.upper()
    return s

6-2 sdut-使用函数统计数字字符在某数字中出现的个数
设计函数,统计数字字符在某数字中出现的个数。

函数接口定义:

CountDigit(number,digit )

其中,number是整数,digit为[1, 9]区间内的整数数值;返回number中digit出现的次数。

裁判测试程序样例:

/* 请在这里填写答案 */

number,digit=input().split()
number=int(number)
digit=int(digit)
count=CountDigit(number,digit )
print("Number of digit 2 in "+str(number)+":",count)

输入样例:
在这里给出一组输入。例如:

-21252 2

输出样例:

Number of digit 2 in -21252: 3
def CountDigit(number,digit ):
    if(number < 0):
        number *= -1
    count = 0
    while number != 0:
        if(number % 10 == digit):
            count += 1
        number //= 10
    return count

6-3 整数数位和(高教社,《Python编程基础及应用》习题8-3)
编写一个函数,该函数接受一个正整数作为参数,返回该整数的各位数字之和。

函数接口定义:

def digitSum(v)

v为输入整数(正整数);
函数返回一个整数,其值为v的各位数字之和。

裁判测试程序样例:

a = int(input())
print(digitSum(a))

输入样例:
291
输出样例:
12

def digitSum(v):
    sum = 0
    while v > 0:
        sum += (v % 10)
        v //= 10
    return sum

6-4 定义并实现身体质量指数类(高教社,《Python编程基础及应用》习题9-3)

按图施工,设计下述BMI类,用于计算身体质量指数。该指数等于体重(kg)除以身高(米)的平方。
在这里插入图片描述
相应的判定标准如下图所示:
在这里插入图片描述
BMI类接口定义:

class BMI:
    ...

其中,name为姓名,age为年龄,height为身高,单位为米,weight为体重,单位为kg。

getBMI()函数返应计算所得的身体质量指数;

getStatus()返回评价结果,其值应为超轻/标准/超重/肥胖之一。

裁判测试程序样例:

sName = input()  #输入姓名
iAge = int(input()) #输入年龄
fHeight = eval(input())  #输入身高,预期为浮点数,单位米
fWeight = eval(input())  #输入体重,预期为浮点数,单位千克
bmi=BMI(sName,iAge,fHeight,fWeight) #实例化BMI类
print("Name:",bmi.name)
print("Age:",bmi.age)
print("BMI = %.3f" % bmi.getBMI())
print("Result =",bmi.getStatus())

在这里插入图片描述

class BMI:  
    def __init__(self, sName, iAge, fHeight, fWeight):
        self.name = sName
        self.age = iAge
        self.height = fHeight
        self.weight = fWeight


    def getStatus(self):
        b = fWeight / (fHeight * fHeight)
        if b < 18:
            return '超轻'
        elif 25 > b >= 18:
            return '标准'
        elif 25 <= b < 27:
            return '超重'
        else:
            return '肥胖'
    
    
    def getBMI(self):
        b = fWeight / (fHeight * fHeight)
        return b

编程题

7-1 数据提取
有一个列表 studs 如下:
studs= [{‘sid’:‘103’,‘Chinese’: 90,‘Math’:95,‘English’:92},{‘sid’:‘101’,‘Chinese’: 80,‘Math’:85,‘English’:82},{‘sid’:‘102’,‘Chinese’: 70,‘Math’:75,‘English’:72}]
将列表 studs 的数据内容提取出来,放到一个字典 scores 里,在屏幕上按学号从小到大的顺序显示输出 scores 的内容。

输入格式:
无输入。

输出格式:
输出内容:
101:[85, 82, 80]
102:[75, 72, 70]
103:[95, 92, 90]

输入样例:
在这里给出一组输入。例如:


输出样例:
在这里给出相应的输出。例如:

101:[80, 85, 82]
102:[70, 75, 72]
103:[90, 95, 92]
studs = [{'sid': '103', 'Chinese': 90, 'Math': 95, 'English': 92}, \
         {'sid': '101', 'Chinese': 80, 'Math': 85, 'English': 82}, \
         {'sid': '102', 'Chinese': 70, 'Math': 75, 'English': 72}]
studs.sort(key=lambda x: eval(x['sid']))
scores = dict()
for student in studs:
    scores[student['sid']] = list()
    scores[student['sid']].append(student['Chinese'])
    scores[student['sid']].append(student['Math'])
    scores[student['sid']].append(student['English'])
for score in scores:
    print('{}:{}'.format(score, scores[score]))

7-2 下标异常
输入一个非空字符串和一个索引值,输出字符串中,该索引值对应的字符。若发现异常,则输出“输入下标有误”

输入格式:
输入一个非空的字符串,再输入一个索引值(Python中可以是正向索引,也可以是反向索引)。

输出格式:
输出字符串中,该索引值对应的字符。若发现异常(如输入的索引值太大或太小,超出字符串的索引值范围;如输入的索引值为非整数等),则输出“输入下标有误”

输入样例:
在这里给出一组输入。例如:

Hello World
-4

输出样例:
在这里给出相应的输出。例如:

o

输入样例:
在这里给出一组输入。例如:

abcd
4

输出样例:
在这里给出相应的输出。例如:

输入下标有误

输入样例:
在这里给出一组输入。例如:

Good
?

输出样例:
在这里给出相应的输出。例如:

输入下标有误
s = input("")
try:
    i = int(input())
except:
    print("输入下标有误")
else:
    try:
        print(s[i])
    except:
        print("输入下标有误")

7-3 千年老二
在酒席上和初次相逢的人聊天中得知,大家在家里都是排行第2的,他显的很兴奋,口口声声说“千年老二,千年老二,为了千年老二干杯”。

输入格式:
在一行中至少给出两个以上绝对值不超过1000的整数。

输出格式:
对每一组输入,在一行中输出第二个最大值。

输入样例:
在这里给出一组输入。例如:

5 4 3 2 1
输出样例:
在这里给出相应的输出。例如:

4

lis = list(input())
lis.sort()
print(lis[-2])

熬夜送书 第三期

618,清华社 IT BOOK 多得图书活动开始啦!活动时间为 2023 年 6 月 7 日至 6 月 18 日,清华社为您精选多款高分好书,涵盖了 C++、Java、Python、前端、后端、数据库、算法与机器学习等多个 IT 开发领域,适合不同层次的读者。全场 5 折,扫码领券更有优惠哦!快来京东点击链接 IT BOOK 多得(或扫描京东二维码)查看详情吧!
京东链接:点击购买
在这里插入图片描述

赠书规则:点赞 | 收藏 | 评论: 人生苦短,熬夜敲Java
活动截止时间:6.16号
赠书数量:3本

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

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

相关文章

字节测开岗面试记:二面被血虐,幸好还是拿到了Offer.....

在互联网做了几年之后&#xff0c;去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好&#xff0c;更重要的是&#xff0c;它是对你专业能力的背书&#xff0c;大厂工作背景多少会给你的简历增加几分竞争力。 但说实话&#xff0c;想进大厂还真没那么容易。最近面试字…

让CSS布局呈现您的个性:学习常见布局方式

本文介绍常用的css布局&#xff1a; 三栏布局两列自适应布局元素居中 盒模型简介&#xff1a; 三栏布局 中间列自适应宽度&#xff0c;两边宽度固定 1. 圣杯布局 <!DOCTYPE html> <html> <head> <style> /* This is a single-line comment */.con…

迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

硬件&#xff1a; RK3588开发板摄像头 MIPI摄像头&#xff1a; 1.1 硬件连接 RK3588 底板上有四个摄像头接口&#xff0c;如下图所示&#xff0c;此四个接口均可连接摄像头 ov5695 和 摄像头 ov13850。 摄像头模块连接硬件时要将模块对准插槽缺口处&#xff0c;J1 接口连接摄…

ipad手写笔哪款好?最好用的电容笔

近几年&#xff0c;电容笔逐渐成为人们日常生活中最重要的数码产品之一&#xff0c;不管是书写、绘画或者是玩游戏&#xff0c;使用iPad的地方就都能看到电容笔的身影。那么&#xff0c;哪个品牌的电容笔质量比较好&#xff1f;下面&#xff0c;我来给大家推荐四款好用的电容笔…

node+uniapp+socket简易聊天

目录 一、技术简介 1.1、客户端 1.2、服务器 二、代码分析 2.1、前端连接后端 2.2、前端发送&#xff0c;后端接收并广播回去 三、效果展示 四、升级版 一、技术简介 1.1、客户端 uni-app项目自行创建、weapp.socket.io这个需要后端下载cnpm i weapp.socket.io&…

1.2C++运算符重载

C运算符重载 C运算符重载是指对已有的C运算符进行重新定义&#xff0c;使其能够适用于用户自定义的数据类型。通过运算符重载&#xff0c;我们可以使用C运算符对自定义的数据类型进行操作&#xff0c;使得程序更加简洁、易读、易维护。 C支持对大部分运算符进行重载&#xff…

CleanMyMac X2023电脑深度清理软件

在使用mac时&#xff0c;小编遇到了运行内存不足、硬盘空间不足的情况。遇到这种情况&#xff0c;我们可以借助经典的电脑深度清理软件——CleanMyMac X&#xff0c;清理不常用的软件和系统垃圾&#xff01; 作为一款专业的mac电脑系统管家&#xff0c;CleanMymac X一直致力于…

韧性数据安全体系的原则和组成|CEO专栏

“韧性”数据安全体系&#xff0c;是美创科技在数据安全的最新探索。 特设专栏“构建适应性进化的韧性数据安全体系”中&#xff0c;首期文章&#xff08;点击此处跳转&#xff09;&#xff0c;我们重点介绍了韧性数据安全体系的三个目标&#xff1a;韧性和弹性、适应性进化、复…

【基于Rsync实现Linux To Windows文件同步】

基于Rsync实现Linux To Windows文件同步 简介安装步骤安装Linux服务器端1.安装rsync2.启动Rsync3.验证是否启动成功4.修改rsyncd.conf重启rsync服务 安装Windows客户端1.rsync客户端安装&#xff1a;2.配置环境变量3.测试rsync命令4.创建密码文件5.密码文件授权6.查看服务端需要…

【jupyter notebook】‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

目录 0.问题背景环境介绍 1.解决步骤 2.测试步骤 0.问题背景环境介绍 1&#xff09;环境&#xff1a;windows64 2&#xff09;问题背景&#xff1a;在搭建jupyter notebook的过程中&#xff0c;想用windows的任务管理器启动jupyter notebook或者使用【jupyter notebook --…

赋能生态合作 共话数字创新 | 2023开放原子全球开源峰会软硬协同开源分论坛即将启幕

随着信息技术的迅猛发展&#xff0c;当下智能应用场景日益复杂、数据量爆发式增长、数据形式也多种多样&#xff0c;作为跨越无数创新领域的驱动者&#xff0c;理应打造更高质量的生态系统和开源生态&#xff0c;提供丰富的软件产品和服务&#xff0c;打造软件和硬件协同开源的…

地理空间数据云管理-四维轻云1.3.2-版本更新内容

很多用户想要在不上传数据的情况下查看案例数据&#xff0c;我们在四维轻云1.3.2版本中为新用户新增了示例项目。此外&#xff0c;此次更新还新增了标绘数据模式和场景定时保存提醒功能&#xff0c;优化了插件启动流程以及移动和旋转变化轴。 1、新增示例项目 示例项目中包含…

idea里边创建类的时候和方法自动生成注释

idea里边创建类的时候和方法自动生成注释 我们经常写代码的时候需要在类上编写注释&#xff0c;标明这个类是谁写的有什么作用&#xff0c;其实每次写都会发现有很多相同的字段&#xff0c;比如作者&#xff0c;创建时间&#xff0c;类名等&#xff0c;有的时候方法上也要标明…

bug:wx.switchTab: url 不支持 queryString

uni-app 开发小程序时 &#xff0c;bug&#xff1a;wx.switchTab: url 不支持 queryString 前言&#xff1a;在首页分类入口跳转到具体某一分类时&#xff0c;分类页是项目的底导页面&#xff0c;存在于tabbar里&#xff0c;需要使用switchTab进行跳转。参数是分类的id&#xf…

coreDNS 常见问题及优化方案

目录 问题现象一 导致原因 优化方案 问题现象二 导致原因 优化方案 Core DNS配置优化和说明 参考文章&#xff1a; 问题现象一 重启coredns pod导致集群业务解析域名五分钟可不用 导致原因 当集群使用IPVS作为kube-proxy负载均衡模式时&#xff0c;您可能会在CoreDNS…

【IMX6ULL驱动开发学习】03.设置IMX6ULL开发板与虚拟机在同一网段

为什么要设置IMX6ULL与虚拟机通信&#xff1f; 因为要把在虚拟机下编译的文件传到IMX6ULL开发板上运行 设置好同一网段&#xff0c;可以互ping后&#xff0c;可以参考这篇博客&#xff0c;实现开发板与虚拟机的文件互传 IMX6ULL开发板与虚拟机互传文件 目录 一、设置window…

Vue.js 中的 mixin 和 extends 有什么区别?

Vue.js 中的 mixin 和 extends 有什么区别&#xff1f; 在 Vue.js 中&#xff0c;mixin 和 extends 是两种常见的代码复用方式。它们都可以让我们在多个组件之间共享代码&#xff0c;提高代码复用性和开发效率。但是&#xff0c;它们之间还是有一些区别的&#xff0c;本文将介…

S32DS的安装教程参考

进入恩智浦官网 点击右上角注册登陆进行注册账号->注册成功后登录成功显示为"我的恩智浦" 1.我使用的是 S32 DS for Power Architecture v2.1 当然可以根据自己需求下载相应软件版本 2.点击搜索框,输入S32ds,回车enter 3.找到相应信息&#xff0c;点击蓝字(有…

阿里巴巴内部Spring Cloud Alibaba 全彩 PDF 版手册限时开源

众所周知&#xff0c;Spring Cloud Alibaba 是致力于提供微服务开发的一站式解决方案。但是很多的同学还是不是很了解&#xff0c;或者说知识略懂一些浅显的知识&#xff0c;从没有深入地学习过。 今天我们就来系统地学习一下 Spring Cloud Alibaba 第三版的内容&#xff0c;第…

Python数据分析案例29——自编码器监测异常值

与传统的监督学习不一样&#xff0c;这一篇主要是讲述自编码器模型的&#xff0c;是无监督学习&#xff0c;并且用于的任务不是分类或者回归&#xff0c;而是异常值的监测。 案例背景 需要从一堆网络流量特征监控的数据中寻找哪些可能是异常情况。 听着像分类问题对吧&#x…