2026年Python编程试题及答案_第1页
2026年Python编程试题及答案_第2页
2026年Python编程试题及答案_第3页
2026年Python编程试题及答案_第4页
2026年Python编程试题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年Python编程试题及答案一、单项选择题(每题2分,共10分)1.以下代码执行后输出结果是?```pythondeff(x):returnlambday:x+ya=f(5)b=a(3)print(b)```A.5B.3C.8D.15答案:C解析:函数f返回一个lambda函数,该lambda函数接收参数y并返回x+y。调用f(5)时x绑定为5,得到的a是一个lambda函数。a(3)即5+3=8。2.关于Python异常处理,以下说法错误的是?A.try块中发生异常时会跳过剩余代码,直接执行except块B.多个except子句应按异常类从具体到宽泛的顺序排列C.finally块中的代码无论是否发生异常都会执行D.raise语句只能抛出内置异常类,不能自定义异常答案:D解析:Python允许通过继承Exception类自定义异常,使用raise可抛出自定义异常实例。3.执行`x=[1,2,3];y=x;x.append(4);print(y)`后,输出结果是?A.[1,2,3]B.[1,2,3,4]C.[4]D.报错答案:B解析:列表是可变对象,y=x使y与x指向同一列表内存地址,x.append(4)修改原列表,y同步变化。4.以下哪段代码能正确生成0到9的平方列表?A.`[x**2forxinrange(10)]`A.`[x**2forxinrange(10)]`B.`(x**2forxinrange(10))`B.`(x**2forxinrange(10))`C.`{x:x**2forxinrange(10)}`C.`{x:x**2forxinrange(10)}`D.`[x^2forxinrange(10)]`答案:A解析:B是生成器表达式,C是字典推导式,D中^是位异或运算符,正确平方应使用**。解析:B是生成器表达式,C是字典推导式,D中^是位异或运算符,正确平方应使用**。5.对于`importpandasaspd`,以下操作能正确读取CSV文件`data.csv`的是?A.`pd.read_csv("data.csv")`B.`pd.csv_read("data.csv")`C.`pd.read_excel("data.csv")`D.`pd.DataFrame("data.csv")`答案:A解析:pandas读取CSV的标准方法是read_csv(),B方法不存在,C用于Excel,D是创建空DataFrame。二、填空题(每题3分,共15分)1.执行`print('{:.2f}'.format(3.1415))`的输出是______。答案:3.14解析:格式化字符串保留两位小数,第三位1小于5不进位。2.列表`a=[1,3,5]`,通过______操作可在末尾添加元素7(写出完整语句)。答案:a.append(7)或a+=[7]解析:append()方法向列表末尾添加单个元素,+=操作符可拼接列表。3.正则表达式`r'\d{3}-\d{4}'`可匹配的典型字符串是______(举例)。答案:123-4567(或类似格式)解析:\d匹配数字,{3}表示3位,{4}表示4位,整体匹配“三位数字-四位数字”格式。4.定义类时,`__init__`方法的第一个参数通常命名为______。答案:self解析:类的实例方法第一个参数默认指向实例本身,惯例命名为self。5.执行`x={'a':1,'b':2};x.get('c',0)`的返回值是______。答案:0解析:字典的get()方法在键不存在时返回默认值0(未指定时默认None)。三、编程题(共35分)1.(10分)编写函数`count_vowels(s)`,统计字符串s中元音字母(a/e/i/o/u,不区分大小写)的个数。要求:返回整数,忽略非字母字符。参考代码:```pythondefcount_vowels(s):vowels={'a','e','i','o','u'}count=0forcharins.lower():#统一转小写ifcharinvowels:count+=1returncount```解析:将字符串转小写后遍历每个字符,判断是否在元音集合中(集合查询O(1)更高效),统计总数。2.(12分)读取当前目录下`sales.csv`文件(字段:日期,产品,销售额),计算每个产品的总销售额,并按总销售额降序输出结果(格式:产品:销售额)。参考代码:```pythonimportpandasaspddefcalculate_total_sales():读取CSV,处理可能的编码问题(如gbk)df=pd.read_csv('sales.csv',encoding='utf-8')按产品分组,对销售额求和total=df.groupby('产品')['销售额'].sum().sort_values(ascending=False)遍历输出forproduct,amountintotal.items():print(f"{product}:{amount:.2f}")calculate_total_sales()```解析:使用pandas读取CSV,groupby按产品分组求和,sort_values降序排序,遍历Series输出结果。3.(13分)编写程序,爬取指定URL(如`/news`)的新闻列表,提取标题(假设标题在`<h2class="title">`标签内),并将结果保存到`news_titles.txt`中(每行一个标题)。参考代码:```pythonimportrequestsfrombs4importBeautifulSoupdefcrawl_news_titles(url):try:发送请求,设置超时和User-Agent模拟浏览器response=requests.get(url,headers={'User-Agent':'Mozilla/5.0'},timeout=10)response.raise_for_status()#检查HTTP错误soup=BeautifulSoup(response.text,'html.parser')查找所有h2标签且class为title的元素titles=soup.find_all('h2',class_='title')提取文本并去重、去除首尾空格title_texts=[title.get_text(strip=True)fortitleintitles]写入文件withopen('news_titles.txt','w',encoding='utf-8')asf:fortextintitle_texts:f.write(text+'\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论