天蝎泪

导航

关于python的面试题目

一般面试软件测试,都会问到一些简单的python开发基础,以下是我本人面试遇到的一些问题做下记录

1、倒序输出字符串

str="abc"

print(str[::-1])

或者

a=[]

for i in str:

  a.append(i)

a.reverrse()

print("".join(a))   #返回的是字符串

 2、统计字符串输出的个数

str="hello world"

res={}

for i in str:

  res[i]=str.count(i)

print (res)

或者

str="hello world"

alist=list(str)

alist.resever()  

blist=""

b=blist.join(alist)  #返回一个字符串

a={}

for i in b:

  a[i]=b.count(i)

print(a) 

3、数鸡和兔子有多少只,首先告诉你多少只脚,多少个头。

x=120 表示头

y=350 表示脚

for i  in range(1,x):

  j=x-i

  if 2*x+4*j==y:

    print(x,j)

4、怎么运算幂方式

def a(x,n)

  if n==0;

    return 1

  else:

    return x*a(x,n-1)

5、怎么对列表进行去重

list=[1,2,4,6,7,8.1,3,5]

print(set(a))

6、实现一个冒泡排序

arr=[1,6,7,3,4,9,88,15,24,9000]

s=range(len(arr))[::-1]

for i in s:

  for j in range(i):

    if arr[j]>arr[j+1]:

      arr[j],arr[j+1] = arr[j+1],arr[j]

print(arr)

 7、一个列表统计出多少个正数和负数

a=[1,3,5,6,7,-9,-6,-4,-2]

c=[]

d=[]

for i in a:

  if i>0:

    c.append(i)

  elif i<0:

    d.append(i)

print(len(c))

print(len(d))

8、通过python实现99乘法表

for i  in range(1,10)

  for j in range(1,i+1):

    print("%s*%s=%s"%(i,j,i*j),end=" ")

  print(' ')

9、append和extend的区别

#append的实现

a=[1,2,3,4,5]

c=[6,7]

a.append(c)

print(a)

#[1,2,3,4,5,[6,7]]

#extend的实现

a=[1,2,3,4,5]

c=[6,7]

a.extend(c)

print(a)

#[1,2,3,4,5,6,7]

10、怎么统计字符串出现的次数

a=[1,3,5,6,7,6,3,4,5]

b={}

for i in a:

  if a.count(i)>1:

    b[i]=a.count(i)

print(b)

11、怎么删除字符串指定的字符

方法1

str="abbdyuuydsfsdfasssab"

#假如要删除ab

str1=str.replace("ab",'')  #实现替换

print(str1)

12、python2和python3的区别

最主要的区别编码不同:python2是asci编码 python3是utf8编码

13、python求1-100的和

a=0

for i in range(0,100):

  a+=(i+1)

print(a)

或者

a=sum(range(0,101))

print(a)

 

 

 

 

 

posted on 2020-06-15 15:23  天蝎泪  阅读(252)  评论(0)    收藏  举报