2023年最新Python常见编程面试题(1)精选30个题目附答案

2023年最新Python面试题(1)之基础篇精选

  • 1.统计字符串中字符出现的次数
  • 2.获取字典key值键中小写字母对应键值对
  • 3.将字典中key变小写
  • 4.更改字典value值
  • 5.将cookies变成字典形式
  • 6.有如下字符串username把它转换成为UserName
  • 7.分别求出奇数和偶数把奇数偶数存放在对应存放奇数偶数的列表中
  • 8.分析以下数据
  • 9.去重后将元素放入新的列表
  • 10.将列表转成字典,value值为None
  • 11.两个字典合并
  • 12. 字符串替换
  • 13.把字符串转换为字典
  • 14.通过for循环来完成99乘法表
  • 15.列表去重
  • 16.如何不通过循环,输出1到10
  • 17.使用函数,输出1到10
  • 18.如何对单词反转
  • 19.两个列表如何合并成字典
  • 20.统计字符串s='I love abc'中,每个元素出现的次数
  • 21.有一个学生分数的字典 d={"stu1":10, "stu2":20, "stu3":30} ,请按分数进行排序(从大到小)
  • 22.列表l =[1,2,3,5,6]转字符串
  • 23.判断一个字符串中的括号是不是成对出现的
  • 24.返回字符串中第一个不重复的字母和位置
  • 25.求一个数字列表里,相邻两数乘积最高的值,两个数分别是多少?
  • 26.通过函数完成def sum(n): 用传形参赋予实参的方法来实现 5的累加之和 0+1+2+3+4+5=结果
  • 27.实现简单ATM查询余额
  • 28.把网址后面地址转换成字典内的值
  • 29.求阶乘 求10的阶乘(递归函数完成)
  • 30.用字典方式实现登录注册

1.统计字符串中字符出现的次数

有这样的字符串:a=‘helloworld’ 统计字符串中字符出现的次数
在这里插入图片描述

from collections import Counter
a='hello'
print(Counter(a))

2.获取字典key值键中小写字母对应键值对

d={‘a’:10,‘F’:20,‘D’:‘B2’,‘D’:‘555’,‘e’:‘123’}字典中key值是小写字母的键值对
2023年最新Python常见编程面试题(1)精选30个题目附答案_第1张图片

d={'a':10,'F':20,'D':'B2','D':'555','e':'123'}
for key,value in d.items():
    if key.islower()==True :
        dict.update({key: value})
        print(key,value)

3.将字典中key变小写

d={‘a’:10,‘F’:20,‘D’:‘B2’,‘D’:‘555’,‘e’:‘123’}字典中所有的key变为小写 结果:
在这里插入图片描述

d={'a':10,'F':20,'D':'B2','D':'555','e':'123'}
dc = {}
for key,value in d.items():
    dc[key.lower()]=value
print(dc)

4.更改字典value值

将d={‘a’:10,‘F’:20,‘D’:‘B2’,‘D’:‘555’,‘e’:‘123’}字典中所有的的value统一赋值为’error’ 结果:
在这里插入图片描述

d={'a':10,'F':20,'D':'B2','D':'555','e':'123'}
for key in d:
    d[key]='error'
print(d)

5.将cookies变成字典形式

cookies="JSESSIONID=abcMktGLRGjLtdhBk7OVw;first_login_flag=1;ln_uact=55883008898;wp_fold=0"字符串转换成字典的形式 结果
在这里插入图片描述

cookies="JSESSIONID=abcMktGLRGjLtdhBk7OVw;first_login_flag=1;ln_uact=55883008898;wp_fold=0"
dc = {cookies.split('=')[0]:cookies.split('=')[1] for cookies in cookies.split(';')}
print(dc)

6.有如下字符串username把它转换成为UserName

在这里插入图片描述

第一种写法

s='username'
print(s.replace(s,'UserName'))

第二种写法

s='username'
print(s[0:4].capitalize()+s[4:].capitalize()) 

第三种写法

s='username'
s1=''
for i in s:
    if i=='u' or i=='n':
        s1+=i.upper()
    else:
        s1+=i
print(s1)

7.分别求出奇数和偶数把奇数偶数存放在对应存放奇数偶数的列表中

sum_1=[]
sum_2=[]
for i in range(101):
    if i%2==0:
        sum_2.append(i)
    else:
        sum_1.append(i)
print(sum_1)
print(sum_2)

8.分析以下数据

1 1 2 3 5 8 13 21来实现此结果输出结果是
2023年最新Python常见编程面试题(1)精选30个题目附答案_第2张图片

l=[]
for i in range(8):
    if i==0 or i==1:
        l.append(1)
    else:
        l.append(l[i-2]+l[i-1])
print(l)

9.去重后将元素放入新的列表

1=[1,1,4,2,2,5,6,9]实现把元素去重后返回一个新的列表结果是:
在这里插入图片描述

[1,1,4,2,2,5,6,9]
l1=[]
for i in l:
    if i not in l1:
        l1.append(i)
print(l1)

10.将列表转成字典,value值为None

l=[‘a’,‘b’,‘c’]
在这里插入图片描述

l=['a','b','c']
d1={}
for i in l:
    d1[i]='None'
print(d1)

11.两个字典合并

l=[‘abc’,‘bb1’,‘c3’] l1=[1,2,3]
把这两个列表转换为字典结果
在这里插入图片描述

l=['a','b','c']
l1=[1,2,3]
d={}
c = dict(zip(l,l1))
print(c)

12. 字符串替换

a=‘I LOVE YOU’ 实现输出结果
2023年最新Python常见编程面试题(1)精选30个题目附答案_第3张图片

a='I LOVE YOU'
ab=a.replace('YOU','2023')
print(ab)

13.把字符串转换为字典

a=‘A1:1|A2:2|A3:3’ 结果
第一种:
2023年最新Python常见编程面试题(1)精选30个题目附答案_第4张图片

a='A1:1|A2:2|A3:3'
d={}
d1=a.split('|')
for i in d1 :
    s1 = i.split(':')
    d.setdefault(s1[0],s1[1])
print(d)

14.通过for循环来完成99乘法表

2023年最新Python常见编程面试题(1)精选30个题目附答案_第5张图片

for x in range(1,10):
    for y in range(1,x+1):
        print('%d*%d=%d' % (x,y,x*y))

15.列表去重

l = [4, 2, 1, 3, 4, 2, 5, 9, 3, 2, 2, 2,9,9,9],去除列表中的重复元素
在这里插入图片描述

第一种

l = [4, 2, 1, 3, 4, 2, 5, 9, 3, 2, 2, 2,9,9,9]
b1 = set(l)
print(b1)

第二种:

l = [4, 2, 1, 3, 4, 2, 5, 9, 3, 2, 2, 2,9,9,9]
l1 = []
for i in l:
    if i not in l1:
        l1.append(i)
print(l1)

16.如何不通过循环,输出1到10

2023年最新Python常见编程面试题(1)精选30个题目附答案_第6张图片

def prints(n):
    if (n > 0):
        prints(n-1)
        print(n)
if __name__ == '__main__':
        prints(10)

17.使用函数,输出1到10

2023年最新Python常见编程面试题(1)精选30个题目附答案_第7张图片

def a1():
    for i in range(1,11):
        print(i)
if __name__ == '__main__':
        a1()

18.如何对单词反转

a=‘ABC’
2023年最新Python常见编程面试题(1)精选30个题目附答案_第8张图片

a='ABC'
a2 = sorted(a,reverse=True)
print(a)
a3 = ''.join(a2)
print(a3)

19.两个列表如何合并成字典

}
第一种:

l1=['wang','li','wt','kkke']
l2=[10,20,30,40]
l3= dict(zip(l1,l2))
print(l3)

第二种:

l1=['wang','li','wt','kkke']
l2=[10,20,30,40]
l3={}
for i in range(len(l1)):
    l3[l1[i]]=l2[i]
print(l3)

20.统计字符串s='I love abc’中,每个元素出现的次数

在这里插入图片描述

from collections import Counter
s='I love abc'
print(Counter(s))

21.有一个学生分数的字典 d={“stu1”:10, “stu2”:20, “stu3”:30} ,请按分数进行排序(从大到小)

在这里插入图片描述

import operator;
d={"stu1":50, "stu2":20, "stu3":30}
d1=sorted(d.items(),key=operator.itemgetter(1),reverse=True)
print(d1)

22.列表l =[1,2,3,5,6]转字符串

2023年最新Python常见编程面试题(1)精选30个题目附答案_第9张图片

l =[1,2,3,5,6]
l1 = [str(i) for i in l]
l2 = ''.join(l1)
print(l2)

23.判断一个字符串中的括号是不是成对出现的

s = “256{}{}{111{555}}{{}}{}{}”

在这里插入图片描述

s1 = "{}{}"
if s.count(s1)!=0:
    print('yes')
else:
    print('no')

24.返回字符串中第一个不重复的字母和位置

a=‘aaabbbccckdkdkdeitrugalgfklafdcv,zcv.,mhkaghf’
在这里插入图片描述

def first_char(str):
    d = {}
    for i in range(len(str)):
        if str[i] in d:
            d[str[i]] += 1
        else:
            d[str[i]] = 1
    for i in range(len(str)):
        if d[str[i]] == 1:
            return '第一个不重复的字符串是{},索引是{}'.format(str[i], i)
    return "None"
if __name__ == '__main__':
    s1 = 'aaabbbccckdkdkdeitrugalgfklafdcv,zcv.,mhkaghf'
    res = first_char(s1)
    print(res)

25.求一个数字列表里,相邻两数乘积最高的值,两个数分别是多少?

在这里插入图片描述

l = [10,5,1,2,3,4,5,6,7,8,9]
def mu(list):
    l1 =[]
    for i in range(1,len(list)):
        j = i-1
        mut = list[i]*list[j]
        l1.append((mut,list[i],list[j]))
    return max(l1)
mut,left,right = mu(l)
print(mut,left,right)

26.通过函数完成def sum(n): 用传形参赋予实参的方法来实现 5的累加之和 0+1+2+3+4+5=结果

在这里插入图片描述

def sum(n):
    j = 0
    for i in range(0,n):
        j=j+i
    print(j)
sum(5)

27.实现简单ATM查询余额

2023年最新Python常见编程面试题(1)精选30个题目附答案_第10张图片

有一查询余额的系统,帐号:user1 密码:123456 验证码:1234
登录成功,查询您的余额是:您的余额是10万元
输入错误,返回请重新输入

a = input('请输入账号')
if a =='user1':
    b = input('请输入密码')
if b =='123456':
    c = input('请输入验证码')
if c=='1234':
    print('您的余额是10万元')
else:
    print('输入错误,返回请重新输入')

28.把网址后面地址转换成字典内的值

url=“http://www.abc.com?page_size=30&page_index=31&user_id=2023”
在这里插入图片描述

def funadd():
    url="http://www.abc.com?page_size=30&page_index=31&user_id=2023"
    sp=url.split('?')
    del sp[0]
    d={}
    for i in sp:
        s1=i.split('&')
        for j in s1:
            s2=j.split('=')
            d.setdefault(s2[0],s2[1])
    print(d)
funadd()

29.求阶乘 求10的阶乘(递归函数完成)

2023年最新Python常见编程面试题(1)精选30个题目附答案_第11张图片
第一种:

def d(n):
    a =1
    for i in range(1,n):
        a=a*i
        print('%d!=%d'%(i,a))
d(11)

第二种:

import math
def d(n):
    print('%d!=%d'%(n-1,math.factorial(n)))

d(11)

30.用字典方式实现登录注册

data ={'root1':'123456','admin':'1234'}
def login():
    username=input('请输入账号') 
    if not data.__contains__(username): 
        print('请先注册')
        reg()
    else:
        userpwd=input('输入密码')
        if userpwd==data[username]:
            print('登录成功')
        else:
            print('密码错误')
def register():
    zcname=input('请输入账号:')
    if data.__contains__(zcname):
        print('账号已经注册')
        logjump()
    else:
        rgpwd1=input('输入密码:')
        rgpwd2=input('再次确认密码:')
        if rgpwd1==rgpwd2:
            print('两次的密码一致,注册成功')
            data.setdefault(zcname,rgpwd2)
            print(data)
            logjump()
        else:
            print('密码不一致,重新注册')
            register()
if __name__ == "__main__":
       	login()

你可能感兴趣的:(Python,python,开发语言,python面试题,编程题,面试)