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多线程编程介绍)

文章目录


一、面试题附答案一

1、难度等级 I

如何实现 "1,2,3" 变成 ['1','2','3']

python 复制代码
a='1,2,3'
print(a.split(','))

2、难度等级 I

1:计算整型50乘以10再除以5的商并使用print输出。

2:判断整型8是否大于10的结果并使用print输出。

3:计算整型30除以2得到的余数并使用print输出

4:使用字符串乘法实现 把字符串"我爱我的祖国"创建三遍并拼接起来最终使用print输出。

python 复制代码
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']

python 复制代码
#方法一:分别获取每个元素,相加
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

python 复制代码
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"

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

6、难度等级 III

假设今天的上课时间为5678秒,编程计算今天上课时间是多少时,多少分,多少秒,以"xx时xx分xx秒"的形式表示出来。

python 复制代码
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 的字符

python 复制代码
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

通过分片创一个与原列表实现反转的列表

python 复制代码
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

列表一次性追加多个值,用多种方法实现

python 复制代码
#方法一:切片插入
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、输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串

python 复制代码
#方式一、字符串替换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中

python 复制代码
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种方式实现
python 复制代码
#方式一:for遍历
nums=[1,2,3]
for num in nums:
    a=int(input("请输入数字:"))
    if a ==99:
        print("恭喜你猜对了!")
        break

else:
    print('stupid')
#方式二:while循环
i=0
a='stupid'
while i<3:
    i+=1
    b=int(input("请输入数字:"))
    if b==99:
        a='恭喜你,猜对了!'
        break
print(a)

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

python 复制代码
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=30
    elif m in (1,3,5,7,8,10,12):
        y=31
    elif m==2:
        y=28
    num+=y
print("{}年{}月{}日是这一年的第{}天".format(year,month,date,num))

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

不是素数,反之是素数。

python 复制代码
num=[]
for x in range(101,200):
    for y in range(2,x):
        if x%y==0:
            break
    else:
        num.append(x)
print(num)

15、难度等级1

输入成绩:

如果是 >90 分,则显示优秀

大于等于60 且 小于等于 90 则显示良好

小于 60 ,则显示不及格

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

16、难度等级3

输出 9*9 乘法口诀表

python 复制代码
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 函数

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

18、难度等级 2

实现一个函数,该函数参数为任意数量的数字,在函数中实现这样的功能:统计在参数中 出现的数字的个数

如 传入的参数为 func(3,5,3)

则打印

数字3 出现2次

数字 5 出现1次

python 复制代码
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!的和。

python 复制代码
def num_test(i):
    num = 1
    sum=0
    for n in range(1,i+1):
        num =num*n
        sum +=num
    return sum

print(num_test(5))

20、难度等级2

定义一个银行账户类,Account

属性有:

用户姓名

账号

余额

对应的方法有:

  1. 存钱
  2. 取钱 (如果取出的金额>余额,提示错误信息)
python 复制代码
# 定义一个账户类
class Account:
    def __init__(self, name, number,balance):
        self.name = name
        self.number = number
        self.balance = balance

    #存钱的方法
    def save_money(self,money):
        self.balance=self.balance+money
        print(f"{self.name}的{self.number}账户存入{money}元")
        print(f"{self.name}的{self.number}账户余额为{self.balance}元")

    #取钱的方法
    def withdraw_money(self,money):
        self.balance = self.balance - money
        if 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)

相关推荐
飞翔的佩奇4 分钟前
【完整源码+数据集+部署教程】石材实例分割系统源码和数据集:改进yolo11-CA-HSFPN
python·yolo·计算机视觉·毕业设计·数据集·yolo11·石材实例分割系统
鹏说大数据14 分钟前
使用Conda管理服务器多版本Python环境的完整指南
服务器·python·conda
科士威传动31 分钟前
滚珠导轨在汽车自动化装配线中的核心传动
运维·自动化·汽车
武汉格发Gofartlic1 小时前
FEMFAT许可使用数据分析工具介绍
python·信息可视化·数据分析
bnnnnnnnn1 小时前
看完就懂、懂完就敢讲的「原型与原型链」终极八卦!
前端·javascript·面试
love530love1 小时前
【笔记】NVIDIA AI Workbench 中安装 cuDNN 9.10.2
linux·人工智能·windows·笔记·python·深度学习
项目題供诗1 小时前
黑马python(五)
python
byte轻骑兵1 小时前
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
面试·职场和发展
Tirson Yang2 小时前
西安java面试总结1
java·面试
l1o3v1e4ding2 小时前
python-docx 库教程
开发语言·python·c#