【Python面试题收录】Python编程基础练习题①(数据类型+函数+文件操作)

news2024/9/22 5:40:07

本文所有代码打包在Gitee仓库中icon-default.png?t=N7T8https://gitee.com/wx114/Python-Interview-Questions 

一、数据类型

第一题(str)

请编写一个Python程序,完成以下任务:

  1. 去除字符串开头和结尾的空格。
  2. 使用逗号(",",不带空格)将字符串中的电子邮件地址分割成一个列表。
  3. 遍历列表中的每个电子邮件地址,将其域名部分(即"@"符号之后的部分)转换为小写。
  4. 使用逗号加空格(", ")作为分隔符,将修改后的电子邮件地址列表重新连接成一个字符串。
  5. 输出转换后的字符串,并打印出转换前后字符串的长度差。

示例输入:

emails = "  example@EXAMPLE.COM, anotherEmail@Domain.com , Third.Email@example.NET  "

期望输出(注意:实际输出中的电子邮件地址顺序可能与示例不同,因为题目没有要求保持原始顺序):

转换后的字符串: example@example.com, anotheremail@domain.com,third.email@example.net  

转换前后字符串长度差: -14

【注】长度差可能为正数、负数或零,这取决于原始字符串中额外空格和大小写转换的影响。

第二题(str)

将一个URL转换成对应的格式

示例输入:

string = “https://www.baidu.com/s?wd=feapder&pn=10”

期望输出:

url = "https://www.baidu.com/s"

params = {

    "wd": "feapder",

    "pn": "10"

}

第三题(list)

        你有一个包含整数的列表,你需要对这个列表执行一系列操作,以得到一个新的列表,并计算操作前后列表的元素总和之差。具体操作如下:

  1. 去除列表中所有的负数元素。
  2. 将剩余的每个元素乘以2。
  3. 使用列表推导式(list comprehension)筛选出所有偶数元素。
  4. 将筛选出的偶数元素按照从大到小的顺序排序。
  5. 计算原列表和新列表的元素总和之差。

示例输入:

numbers = [1, -2, 3, -4, 5, 6, -7, 8, 9, -10]

期望输出(注意:由于示例输入中的负数被去除,并且所有元素都乘以了2,然后又筛选出了偶数,最后还进行了排序,所以实际输出可能与直接计算的总和差有所不同,但这里给出的是按照题目要求操作后的逻辑结果):

操作后的列表: [16, 12, 10, 8]  

操作前后列表元素总和之差: -36

【注】期望输出中的操作后列表是根据示例输入和题目要求操作后得到的实际结果,而总和之差则是通过计算原列表元素总和与操作后列表元素总和之间的差值得到的。

第四题(dict)

你是一家书店的IT部门员工,书店的库存信息以字典的形式存储,其中字典的键是书籍的ISBN号(假设为字符串类型),值是一个包含书籍详细信息的字典,这个详细信息字典包括书名(title)、作者(author)、库存数量(stock)和价格(price)。现在,请根据以下要求编写Python代码来完成任务:

  1. 创建一个包含三本书籍信息的库存字典。
  2. 查询并打印出ISBN为"978-1234567890"的书籍的详细信息。
  3. 假设我们要更新ISBN为"978-1234567890"的书籍的库存数量,将其增加10本。
  4. 打印出所有书籍的ISBN和它们的价格。
  5. 使用get()方法尝试获取ISBN为"978-0987654321"的书籍的库存数量,如果不存在,则返回"书籍未找到"。
  6. 移除ISBN为"978-1112223334"的书籍(假设它存在于库存中),并打印出移除后的库存字典。

示例库存字典(仅作为参考,实际创建时请使用自己的ISBN和书籍信息):

inventory = {  

    "978-1234567890": {"title": "Python编程从入门到实践", "author": "埃里克·马瑟斯", "stock": 50, "price": 39.99},  

    "978-2345678901": {"title": "算法导论", "author": "托马斯·科尔曼", "stock": 20, "price": 59.99},  

    "978-3456789012": {"title": "代码大全", "author": "史蒂夫·迈克康奈尔", "stock": 35, "price": 49.99}  

}

第五题(set)

        你有一个公司员工的ID集合,以及一个参加特定培训课程的员工ID集合。现在,你需要根据这些集合来完成以下任务:

  1. 创建一个包含所有员工ID的集合(假设有10个不同的员工ID,你可以自己定义这些ID)。
  2. 创建一个包含参加培训课程的员工ID的集合(假设有5个员工参加了培训,这些员工ID可以是前面10个员工ID中的任意5个)。
  3. 计算并打印出没有参加培训课程的员工ID集合。
  4. 假设又有一个新的员工ID集合,表示最近加入公司的员工。请将这个新集合中的员工ID添加到原始员工ID集合中,并打印出更新后的员工ID集合。
  5. 找出既参加了培训又是新加入公司的员工ID(假设有这样的员工存在)。

二、函数

第一题

        将上述“数据类型”中的五道题,分别用五个函数来封装。

第二题

        设计一个函数实现在“数据类型”的五道题中切换。

        示例输入:

        选择第n题(n=1到5,按0退出)

        期望输出:对应题目的答案。

第三题

        编写一个Python程序,该程序包含以下几个部分:

  1. 定义一个函数 calculate_area,该函数接受两个参数:length 和 width,分别代表一个矩形的长和宽。函数的功能是计算并返回该矩形的面积。
  2. 定义一个函数 describe_rectangle,该函数接受一个字典作为参数,该字典包含键 'length' 和 'width',对应的值分别为矩形的长和宽。函数的功能是首先调用 calculate_area 函数来计算并获取矩形的面积,然后打印出矩形的长、宽和面积。
  3. 在程序中调用 describe_rectangle 函数,并传入一个包含矩形长和宽的字典作为参数。

示例输出(假设传入的字典是 {'length': 10, 'width': 5}):{'length': 10, 'width': 5}

期望输出:

矩形的长为: 10  

矩形的宽为: 5  

矩形的面积为: 50

第四题

        编写一个Python函数,该函数接受任意数量的位置参数(即不限制参数的数量),并计算这些参数的平均值。然后,在程序中调用这个函数,传入几个数字作为参数,并打印出这些数字的平均值。

要求:

  1. 使用*args语法来接收任意数量的位置参数。
  2. 确保函数能够处理没有传入任何参数的情况,并优雅地处理这种情况(例如,打印一条消息表示没有参数传入,并返回None或0作为平均值)。
  3. 计算平均值时,需要确保传入的参数中至少有一个是数字(为了简化,我们不考虑字符串等非数字类型作为参数的情况,但在实际应用中可能需要添加类型检查)。

第五题

        编写一个Python函数,该函数接受任意数量的关键字参数(即不限制参数名和数量的参数),并返回一个包含所有传入关键字参数及其值的字典。然后,在程序中调用这个函数,传入几个关键字参数,并打印出该函数返回的字典。

要求:

  1. 使用**kwargs语法来接收任意数量的关键字参数。
  2. 确保函数能够处理没有传入任何关键字参数的情况,并返回一个空的字典。
  3. 在返回的字典中,关键字参数名应作为键,对应的值作为值。

三、文件

        请注意,下面的五个题目都要封装成函数。

第一题

        用OS模块,创建一个名为“Python基础练习day01”的文件夹。(要包含同名检测和异常处理功能)

第二题

        在刚刚创建好的“Python基础练习day01”文件下,创建三个子文件夹“数据类型”、“函数”、“文件”。

第三题

        依次删除刚刚创建好的三个目录,删除前需要输入‘y’来确认。

第四题

        第二题中的创建三个文件夹的函数的传参是若是一个列表

        [‘Python基础练习day01/数据类型’, ’Python基础练习day01/函数’, ’Python基础练习day01/文件’]

        该怎么实现第二题中的功能?

第五题

        如何删除一个有文件的文件夹?(递归删除目录)

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

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

相关文章

【数据库】Quartz2.3 框架 数据库设计说明书

1、 Quartz表说明 2、 quartz 的触发时间的配置 1、 cron 方式:采用cronExpression表达式配置时间。 2、 simple 方式:和JavaTimer差不多,可以指定一个开始时间和结束时间外加一个循环时间。 3、 calendars 方式:可以和cron配合使…

Java-----栈

目录 1.栈(Stack) 1.1概念 1.2栈的使用 1.3栈的模拟实现 1.4栈的应用场景 1.5栈、虚拟机栈、栈帧有什么区别呢 1.栈(Stack) 1.1概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操…

Centos8 yum 更换源以及安装内核头文件

文章目录 一、简介二、yum 更换源三、安装内核头文件 一、简介 CentOS 是一个开源项目,发布了两个不同的 Linux 发行版——CentOS Stream 和 CentOS Linux 。 CentOS Stream 是即将发布的红帽企业 Linux 产品的上游开发平台。 CentOS 项目将于 2024 年 6 月 30 日…

场外期权如何报价?名义本金是什么?

今天带你了解场外期权如何报价?名义本金是什么?投资者首先需要挑选自己想要进行期权交易的沪深上市公司股票。选出股票后,需要将股票信息、预期的操作时间(如期限)、看涨或看跌的选择以及预计的交易金额等信息报给场外…

商家虚假发货行为频发,电商平台如何通过物流轨迹来监管?(内附视频号、抖音、京东的发货规则)

近年来,“虚假发货”问题在电商行业中日益凸显。某投诉平台数据显示,截至2024年7月,搜索“虚假发货”显示的投诉高达19万条,如何有效监控卖家发货的合规性与及时性、打击虚假发货行为成为电商平台的重要议题。 为了维护消费者权益…

剧透:巴黎奥运会用上了AI转播

** AI增强技术,让比赛画面变成电影特效。 ** 巴黎奥运会即将开幕! 阿里云在奥运转播中应用的AI增强技术 将让比赛画面变成电影特效! 剧透如下 👇🏻 阿里云为奥运转播提供的高自由度回放“子弹时间”,是…

[Mysql-DDL数据操作语句]

目录 DDL语句操作数据库 库: 查看:show 创建:creat 删除:drop 使用(切换):use 表: 查看:desc show 创建:create 表结构修改 rename as add drop modify change rename as …

cesium海洋到站提示

项目地址:Every Admin: 用于快速搭建后台管理和其他页面的项目,组件化开发,以及大屏展示. <template> <div class"topbox"> xx海洋管理 </div> <div class"selectbox"> <div class"title"> 航线列表 </div>…

了解Java虚拟机(JVM)

前言&#x1f440;~ 上一章我们介绍网络原理相关的知识点&#xff0c;今天我们浅浅来了解一下java虚拟机JVM JVM&#xff08; Java Virtual Machine &#xff09; JVM内存区域划分 方法区/元数据区&#xff08;线程共享&#xff09; 堆&#xff08;线程共享&#xff09; 虚…

Nginx 配置与优化:常见问题全面解析

文章目录 Nginx 配置与优化:常见问题全面解析一、Nginx 安装与配置问题1.1 Nginx 安装失败问题描述解决方法1.2 Nginx 配置文件语法错误问题描述解决方法二、Nginx 服务启动与停止问题2.1 Nginx 无法启动问题描述解决方法2.2 Nginx 服务无法停止问题描述解决方法三、Nginx 性能…

尚硅谷vue全家桶(vue2+vue3)笔记

Vue2 一、Vue核心 01_简介 1.特点 采用组件化模式&#xff0c;提高代码复用率、且让代码更好维护。声明式编码&#xff0c;让编程人员无需直接操作DOM&#xff08;命令式编码&#xff09;&#xff0c;提高开发效率。使用虚拟DOM优秀的Diff算法&#xff0c;尽量复用DOM节点。…

【日常记录】【JS】JS中查询参数处理工具URLSearchParams

文章目录 1. 引言2. URLSearchParams2.1 URLSearchParams 的构造函数2.2 append() 方法2.3 delete() 方法2.4 entries() 方法2.5 forEach() 方法2.6 get() 方法2.7 getAll() 方法2.8 has() 方法2.9 keys() 方法2.10 set() 方法2.11 toString() 方法2.12 values() 方法 参考链接…

Pytorch深度学习实践(5)逻辑回归

逻辑回归 逻辑回归主要是解决分类问题 回归任务&#xff1a;结果是一个连续的实数分类任务&#xff1a;结果是一个离散的值 分类任务不能直接使用回归去预测&#xff0c;比如在手写识别中&#xff08;识别手写 0 − − 9 0 -- 9 0−−9&#xff09;&#xff0c;因为各个类别…

python毕业设计选题协同过滤算法在音乐推荐系统

✌网站介绍&#xff1a;✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。 ✌服务范围&#xff1a;Java(SpringBoo/SSM)、Python、PHP、Nodejs、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。 ✌服务内容&#xff1a;免费功能设计、免费提供开题答辩P…

【进程检测】使用pywin32捕获window进程信息

需求 检测win系统依赖服务进程的运行情况&#xff0c;版本信息&#xff08;进程检测器&#xff09;检测内外网连接情况 实现 进程检测 # 使用pywin32获取进程版本信息 def get_version_info(path):try:info GetFileVersionInfo(path, \\)ms info[FileVersionMS]ls info[…

基于单片机控制的气动机械手设计

摘 要&#xff1a; 机械手拥有灵活的运动结构&#xff0c;可以在控制系统控制下完成复杂的运动&#xff0c;从而实现高效率的自动化生产方式&#xff0c;因而成为发展工业生产技术的重要方向。气动技术和单片机技术已相当成熟&#xff0c;工业应用广泛&#xff0c;该文将基于单…

使用 useRequestURL 组合函数访问请求URL

title: 使用 useRequestURL 组合函数访问请求URL date: 2024/7/26 updated: 2024/7/26 author: cmdragon excerpt: 摘要&#xff1a;本文介绍了Nuxt 3中的useRequestURL组合函数&#xff0c;用于在服务器端和客户端环境中获取当前页面的URL信息。通过示例展示了如何在页面中…

html+css 实现水波纹按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

Vue 3 实现左侧列表点击跳转滚动到右侧对应区域的功能

使用 Vue 3 实现左侧列表点击跳转到右侧对应区域的功能 1. 引言 在这篇博客中&#xff0c;我们将展示如何使用 Vue 3 实现一个简单的页面布局&#xff0c;其中左侧是一个列表&#xff0c;点击列表项时&#xff0c;右侧会平滑滚动到对应的内容区域。这种布局在很多应用场景中都…

云计算实训15——shell脚本、变量、自动化安装脚本、条件判断、循环

一、shell 脚本 1.基本概念 shell脚本就是由Shell命令组成的执行文件&#xff0c;将一些命令整合到一个文件 中&#xff0c;进行处理业务逻辑&#xff0c;脚本不用编译即可运行&#xff0c;它从一定程度上减轻 了工作量&#xff0c;提高了工作效率&#xff0c;还可以批量、定…