当前位置: 首页 > news >正文

python基础(16面试题附答案一)

python系列文章目录

python基础(01变量&数据类型&运算符)
python基础(02序列共性)
python基础(03列表和元组)
python基础(04字符串&字典)
python基础(05集合set)
python基础(06控制语句)
python基础(07函数)
python基础(08类和对象)
python基础(09闭包&装饰器)
python基础(10异常处理)
python基础(11文件读取)
python基础(12迭代器&生成器)
python基础(13魔法方法介绍)
python基础(14内置函数介绍)
python基础(15多线程编程介绍)

文章目录

  • python系列文章目录
  • 一、面试题附答案一


一、面试题附答案一

1、难度等级 I
如何实现 “1,2,3” 变成 [‘1’,‘2’,‘3’]

a='1,2,3'
print(a.split(','))

2、难度等级 I
1:计算整型50乘以10再除以5的商并使用print输出。
2:判断整型8是否大于10的结果并使用print输出。
3:计算整型30除以2得到的余数并使用print输出
4:使用字符串乘法实现 把字符串”我爱我的祖国”创建三遍并拼接起来最终使用print输出。

print(50*10/5)
print(8>10)
print(30%2)
print("我爱我的祖国"*3)

3、难度等级 II
将列表[[‘a’,‘b’,‘c’],[‘d’,‘e’,‘f’],[‘g’,‘h’]]中的元素依次展开
得到 一个新的列表 [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’]

#方法一:分别获取每个元素,相加
a=[['a','b','c'],['d','e','f'],['g','h']]
b=a[0]
c=a[1]
d=a[2]
print(b+c+d)
#方法二:定义一个空列表,使用extend()添加
f=[]
f.extend(b)
f.extend(c)
f.extend(d)
print(f)#方法三:和方法二一致
s1=[]
s=[['a','b','c'],['d','e','f'],['g','h']]
for item in s:s1.extend(item)
print(s1)

4、难度等级 II
熟悉 列表的 sort() 方法中的key 和 reverse 参数的使用,并做demo

list=[4,2,9,1,5]
#降序
list.sort(reverse=True)
print(list)
#默认升序
list.sort()
print(list)

5、难度等级 III
将一个英文语句以单词为单位逆序排放,如 “i am a boy” 逆序排放后 “boy a am i”

a='i am a boy'         #定义一个字符串
b=a.split()            #默认按照空格分割成list
b.reverse()          #反向存放
print(' '.join(b))     #再按照空格拼接转化成str

6、难度等级 III
假设今天的上课时间为5678秒,编程计算今天上课时间是多少时,多少分,多少秒,以“xx时xx分xx秒”的形式表示出来。

num=5678
h=5678//(60*60)
m=(5678%(60*60))//60
s=5678%60
print(f'{h}{m}{s}秒')

7、难度等级 I
有如下变量 x = " zhoU" 实现如下功能:
移除x 变量对应值的两边的空格
判断x变量对应的值是否以 ‘zh’ 开头
判断x变量对应的值是否以 ‘U’ 结尾
将x变量对应的值 中的 “o” 替换为x
将 x 变量对应的值根据 “h” 分割,并输出结果
输出 x 变量对应的值中 “U” 所在索引位置
输出 x 变量中索引为2 和 3 的字符

x = " zhoU"
#去除两边的空格
x=x.strip()
print(x)
#判断是否zh开头
print(x.startswith('zh'))
#判断是否U结尾
print(x.endswith('U'))
#0替换为x
print(x.replace('o','x'))
#根据h分割
print(x.split('h'))
#输出 x 变量对应的值中 “U” 所在索引位置
print(x.find("U"))
#输出 x 变量中索引为2 和 3 的字符
print(x[2],x[3])

8、难度等级 II
通过分片创一个与原列表实现反转的列表

a=[1,2,3,4,5,6]
print(a[5::-1])       #方式1
print(a[5:-7:-1])     #方式2
print(a[-1::-1])      #方式3
print(a[-1:-7:-1])    #方式4
print(a[::-1])        #方式5

9、难度等级 I
列表一次性追加多个值,用多种方法实现

#方法一:切片插入
a=[9,0,4,5]
a[4:4]=[9,9,9]
print(a)#方法二:extend()
a.extend([6,6,6])
print(a)#方法三:相加
b=[1,2]
print(a+b)

10、输入字符串,将字符串的开头和结尾变成’+',产生一个新的字符串

#方式一、字符串替换replace()函数
a="abcdefg"
a=a.replace('a','+')
a=a.replace('g','+')
print(a)
#方式二:切片 前6个元素加一个'+','+'再加后6个字符
a="abcdefg"
a=a[:6]+'+'
a='+'+a[1:]
print(a)

11.难度I 字典内容如下
dic = {
‘python’: 95,
‘java’: 99,
‘c’: 100
}
字典的长度是多少
请修改’java’ 这个key对应的value值为98
删除 c 这个key 增加一个key-value对,key值为 php, value是90
获取所有的key值,存储在列表里
获取所有的value值,存储在列表里
判断 javascript 是否在字典中
获得字典里所有value 的和
获取字典里最大的value
获取字典里最小的value
字典 dic1 = {‘php’: 97}, 将dic1的数据更新到dic中

dic = {'python': 95,'java': 99,'c': 100
}
#字典的长度
print(len(dic))#修改Java对应的value为98
dic['java']=98#删除c增加php  90
del dic['c']
dic['php'] = 90
print(dic)# 获取所有的key值,存储在列表里
# l1 = list(dic.keys())
# print(l1)# 获取所有的value值,存储在列表里
# l2 = list(dic.values())
# print(l2)# 判断 javascript 是否在字典中
print('javascript' in dic)# 获得字典里所有value 的和
sum1 = 0
for i in dic.values():sum1 += i
print(sum1)# 获取字典里最大的value
print(max(dic.values()))# 获取字典里最小的value
print(min(dic.values()))# 字典 dic1 = {'php': 97}, 将dic1的数据更新到dic中
dic1 = {'php': 97}
dic.update(dic1)
print(dic)

12、猜数

  • 给定一个定值,比如说 99
  • 让用户输入数字,给用户三次机会,如果三次之内猜对了(输入的值等于99),显示猜测正确
  • 如果三次之内没有猜对,退出循环,显示’stupid’
    要求,用2种方式实现
#方式一:for遍历
nums=[1,2,3]
for num in nums:a=int(input("请输入数字:"))if a ==99:print("恭喜你猜对了!")breakelse:print('stupid')
#方式二:while循环
i=0
a='stupid'
while i<3:i+=1b=int(input("请输入数字:"))if b==99:a='恭喜你,猜对了!'break
print(a)

13、输入某年某月某日,判断这一天是这一年的第几天? 这边简单考虑,不考虑 闰年的情况。

year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
date=int(input("请输入日:"))
num=date
y=0
for m in range(1,month):if m in (4,6,9,11):y=30elif m in (1,3,5,7,8,10,12):y=31elif m==2:y=28num+=y
print("{}年{}月{}日是这一年的第{}天".format(year,month,date,num))

14.输出101~200之间的所有素数,就是只能被1和⾃⼰整除的数,判断素数的⽅法:⽤⼀个数分别去除2到这个数的平⽅根,如果能被整除,则表明此数
不是素数,反之是素数。

num=[]
for x in range(101,200):for y in range(2,x):if x%y==0:breakelse:num.append(x)
print(num)

15、难度等级1
输入成绩:
如果是 >90 分,则显示优秀
大于等于60 且 小于等于 90 则显示良好
小于 60 ,则显示不及格

a=int(input("请输入成绩:"))
if a>90:print("优秀")
elif 60<=a<=90:print("良好")
else:print("不及格")

16、难度等级3
输出 9*9 乘法口诀表

for m in range(1,10):for n in range(1,m+1):print("{0}*{1}={2}".format(m,n,(m*n)),end="\t")print()

17、难度等级2
实现一个 函数 get_min, 函数返回列表lst 的最小值,要求不使用 min 函数

def get_min(lst):                 #定义函数lst_min=lst[1]                #定义lst_min接收最小值for i in lst:                 #遍历传入的列表if i<lst_min:             #列表的每一个元素进行比较,较小值赋值给lst_minlst_min=ielse:continueprint(lst_min)
get_min([10,3,4,7,8,2,4])

18、难度等级 2
实现一个函数,该函数参数为任意数量的数字,在函数中实现这样的功能:统计在参数中 出现的数字的个数
如 传入的参数为 func(3,5,3)
则打印
数字3 出现2次
数字 5 出现1次

for m in range(1,10):for n in range(1,m+1):print("{0}*{1}={2}".format(m,n,(m*n)),end="\t")print()

19、难度等级1
定义一个函数,实现传入整数的累乘的和,比如传入5 ,实现1+2!+3!+…+5!的和。

def num_test(i):num = 1sum=0for n in range(1,i+1):num =num*nsum +=numreturn sumprint(num_test(5))

20、难度等级2
定义一个银行账户类,Account
属性有:
用户姓名
账号
余额
对应的方法有:

  1. 存钱
  2. 取钱 (如果取出的金额>余额,提示错误信息)
# 定义一个账户类
class Account:def __init__(self, name, number,balance):self.name = nameself.number = numberself.balance = balance#存钱的方法def save_money(self,money):self.balance=self.balance+moneyprint(f"{self.name}{self.number}账户存入{money}元")print(f"{self.name}{self.number}账户余额为{self.balance}元")#取钱的方法def withdraw_money(self,money):self.balance = self.balance - moneyif self.balance>0:print(f"{self.name}{self.number}账户取出{money}元,账户余额为{self.balance}元")else:print("取款失败,您的余额不足")
#实例化
A1 = Account('佳佳',"工商",0)
print(A1.name)
print(A1.number)
A1.save_money(200)
A1.withdraw_money(10)

相关文章:

python基础(16面试题附答案一)

python系列文章目录 python基础&#xff08;01变量&数据类型&运算符&#xff09; python基础&#xff08;02序列共性&#xff09; python基础(03列表和元组) python基础&#xff08;04字符串&字典&#xff09; python基础&#xff08;05集合set&#xff09; pytho…...

Leetcode3256. 放三个车的价值之和最大 I

Every day a Leetcode 题目来源&#xff1a;3256. 放三个车的价值之和最大 I 解法1&#xff1a;贪心 从大到下排序矩阵所有值, 记为数组v。 转化此题&#xff1a;从r*c个数中选取3个数分别给到车1&#xff0c;车2&#xff0c;和车3&#xff0c;使得符合条件的三数之和最大。…...

Redis中String类型的基本命令

文章目录 一、String字符串简介二、常见命令setgetmgetmsetsetnxincrincrbydecrdecrbyincrbyfloatappendgetrangesetrangestrlen 三、命令小结四、字符串内部编码五、String典型使用场景1. 缓存(Cache)功能2. 计数功能3. 共享会话&#xff08;Session&#xff09;4. 手机验证码…...

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整思路

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ A题是数模类赛事很常见的物理类赛题&#xff0c;需要学习不少相关知识。此题涉及对一个动态系统的建模&#xff0c;模拟…...

HR招聘新员工,如何考察企业文化适配度

要解决文化适配性问题&#xff0c;那在招聘过程中一定要明确企业核心价值观。比如通过制定明确文化价值观手册的方式&#xff0c;向求职者展示企业的使命愿景和价值观。 目前最为理想的考察方式就是线上的人才测评&#xff0c;比如&#xff1a;采用职业价值观测评法&#xff0…...

AI算力「搅局」座舱SoC

对于芯片巨头来说&#xff0c;汽车是难以割舍的赛道。 这不仅仅是因为「车规级」向来是准入门槛最高的细分市场之一&#xff0c;更重要的原因来自于从PC、智能手机到智能汽车时代&#xff0c;芯片公司都在寻求成为新周期的标杆。 比如&#xff0c;从PC时代的「英特尔」到智能手…...

lvs DR模式调试

DS配置&#xff1a; # cat /etc/keepalived_docker/keepalived.conf ! Configuration File for keepalived global_defs {router_id LVS_70 # 设置lvs的id&#xff0c;在一个网络内应该是唯一的 }vrrp_instance VI_70 {state MASTER # 两个 DS&#xff0…...

Java线程池的优化策略与最佳实践

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云/阿里云/华为云/51CTO&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互…...

android面试:解释一下 AsyncTask是什么?

AsyncTask 是 Android 中用于处理异步操作的一个类&#xff0c;它允许在后台线程中执行任务&#xff0c;并在完成后将结果传递回主线程。AsyncTask 主要用于执行短时间的后台操作&#xff0c;例如网络请求、文件读写等&#xff0c;而不阻塞用户界面。 AsyncTask 的主要特点&am…...

Django+Vue3前后端分离学习(四)(登录功能实现)

1、序列化数据&#xff1a; 创建serializers.py的python文件 从rest_framework里导入serializers类&#xff1a; from rest_framework import serializers class LoginSerializer(serializers.Serializer):email serializers.EmailField(requiredTrue, error_messages{&qu…...

机器学习面试:SVM为什么使用对偶函数求解?

支持向量机&#xff08;SVM&#xff09;在求解过程中使用对偶函数的原因主要与优化问题的性质、计算效率以及模型的泛化能力有关。以下是对偶函数在 SVM 中使用的详细解释&#xff1a; 1. 原始问题与对偶问题 在 SVM 中&#xff0c;我们的目标是找到一个超平面来最大化分类间…...

RabbitMQ 入门教程

介绍 RabbitMQ 是一个消息中间件&#xff0c;它实现了 AMQP (Advanced Message Queuing Protocol) 协议。本教程将引导你通过几个简单的步骤来学习如何使用 RabbitMQ 发送和接收消息。 环境准备 1. 安装 RabbitMQ - 在你的系统上安装 RabbitMQ: https://www.rabbitmq.com/d…...

docker进阶 compose等

Docker Compose 简介&#xff1a; 比如有100个微服务&#xff0c;不需要手动启动每一个&#xff0c;可以使用docker compose定义运行多个容器&#xff0c;高效管理化。 定义、运行多个容器 YAML file配置文件 single command 命令 写docker-compose.yaml docker-compose …...

[详细建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级

A 题 “板凳龙” 闹元宵 “板凳龙”&#xff0c;又称“盘龙”&#xff0c;是浙闽地区的传统地方民俗文化活动。人们将少则几十条&#xff0c;多则上百条的板凳首尾相连&#xff0c;形成蜿蜒曲折的板凳龙。盘龙时&#xff0c;龙头在前领头&#xff0c;龙身和龙尾相随盘旋&#x…...

网络编程(TCP+网络模型)

【1】TCP 初版服务器 #include <stdio.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> #include <unistd.h> #include <arpa/inet.h> #include <string.h…...

Docker Image 命令

文章目录 目录 文章目录 1 . Docker镜像是什么? 2 . 镜像命令详解 docker images docker tag docker pull docker rmi docker save 总结 1 . Docker镜像是什么? Docker image 本质上是一个 read-only 只读文件&#xff0c; 这个文件包含了文件系统、 源码、库文件…...

如何在IntelliJ IDEA中将Tab设置为4个空格

前言 IntelliJ IDEA是一个强大的开发工具&#xff0c;支持多种编程语言。为了保持代码整洁一致&#xff0c;开发者经常需要调整编辑器中的Tab和缩进设置。 步骤1: 打开设置 首先&#xff0c;启动IntelliJ IDEA。在主界面上方的菜单栏中找到 File&#xff08;文件&#xff09…...

ASP.NET Core 入门教学十五 异步编程

在ASP.NET Core中&#xff0c;异步编程是一种非常重要的技术&#xff0c;它可以提高应用程序的性能和响应能力。本教程将介绍如何在ASP.NET Core中使用异步编程。 1. 异步编程基础 异步编程允许程序在等待某些操作&#xff08;如I/O操作&#xff09;完成时继续执行其他任务&a…...

pycharm 2024.1下载、安装

下载 下载官网&#xff1a; Other Versions - PyCharm 选择需要的版本下载&#xff0c;这里以 2024.1 的版本为例 安装 双击下载好的安装程序&#xff0c;点击下一步 选择安装路径&#xff0c;最好是英文路径&#xff1b;然后下一步 点击完成 激活 网址&#xff1a; Some…...

实变函数精解【18】

文章目录 有限测度有限测度概率测度有限测度与概率测度的关系 σ \sigma σ-有限测度计数测度完备概率测度 参考文献 有限测度 首先&#xff0c;我们来明确“测度”的概念。在数学中&#xff0c;测度是一个将集合映射到非负实数&#xff08;通常是实数的扩展&#xff0c;包括正…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...