python面试答题笔录

1.简述解释型和编译型编程语言

解释型语言是指逐行读取解释代码,不用进行编译,它们有专门的解释型工具,python就是属于解释型语言;编译型语言就是需要编译转成可执行文件,例如c语言就是编译型语言,最近受热捧go语言也是这种。还有我们常见的java是半编译半解释型的语言!

2.b、B、KB、MB、GB 的关系?

b=bit,位的意思;B=Byte,字节;

1024B=1KB,1024KB=1MB,1024MB=1GB

3.写出九九乘法表的倒直角三角形

for iin range(1,10):

    for jin range(i,10):

            print('{}*{}={}'.format(i,j,i*j),end='\t')

    print()

4.写个冒泡排序算法

def sortlist(list1):

        count =0

        for iin range(len(list1)):

                for jin range(len(list1)-1-i):

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

                            list1[j],list1[j+1]=list1[j+1],list1[j]

                            count+=1

                        else:

                                continue

    # print(count)

        return list1

5.给定两个列表,怎么找出他们相同的元素和不同的元素?

    list1=[23,97,34,234,233,43,34,43,23,5,45,45,65,77,43]

    list2=[5,4,6,9,23,45]

    same=[xfor xin list1if xin list2]

    print(same)

    diff=[xfor xin (list1+list2)if xnot in same]

    print(diff)

6.输入某年某月某日,判断这一天是这一年的第几天?

        r=(31,29,31,30,31,30,31,31,30,31,30,31)#闰年

        p=(31,28,31,30,31,30,31,31,30,31,30,31)#平年

def month1(m,y):#计算输入月份之前的月份

    c=0

    for iin range(0,m-1):

        c+=y[i]

    return c


def countday(year,month,day):

    if year%400==0 or (year%4==0 and year%100 !=0):

            print('{}是闰年'.format(year))

            mo=month1(month,r)

            print('%d年%d月%d日是这一年中的第%d天'%(year,month,day,mo+day))

    else:

            print('{}是平年'.format(year))

            mo1=month1(month,p)

            print('%d年%d月%d日是这一年中的第%d天'%(year,month,day,mo1+day)

7.统计一段字符串中字符出现的次数

    from collectionsimport Counter

a='fasdfsdggsdfsdafasdfassdfassdfsdjkljkljsfaslkjjfsadlsdafsdferpsswesjkljwersdfsd'

b=Counter(a)

c=dict(b)

print(c)

8.python中内置的数据结构有几种?

四种,集合set、元组tuple、列表list、字典dict

9.请反转字符串 "天才发明的倒装句"?

def reverseString(st):

    charts=list(str(st))

    charts.reverse()

    r=''.join(charts)

    return r

print(reverseString('天才发明的倒装句'))

10.什么是lambda函数?它有什么好处?写一个匿名函数求两个数的和

    lambda函数是匿名函数,它的好处是省略了用def声明函数的标准步骤。

    f=lambdax,y:x+y

    print(f(12,13))

11.设计实现遍历目录与子目录,抓取.pyc文件?

        import os

        for root,dirs,files in os.walk('.'):

                for filename in files:

                        name,suffix=os.path.splitext(filename)

                        if suffix=='pyc':

                                print(filename)

12.is 与 ==的区别:

    is是身份运算符:是判断是否引用同一对象,或者说比较两个对象的“内存地址”是否一致

    而==是比较两个对象的内容、值是否相等。

13.统计一个文本中单词频次最高的 10 个单词?

word=[]

f=open('word.txt',mode='r')

for linein f.readlines():

    wordstr=line.replace(',','')

    wordstr=wordstr.strip()

    wordlist=wordstr.split(' ')

    # print(wordlist)

    word.extend(wordlist)#原列表扩展新列表

print(word)

worddict=Counter(word)#统计单词个数

print(worddict)

sortword=sorted(worddict.items(),key=lambda x:x[1],reverse=True)#lambda表达式可以按照value排序

print(sortword[:10])

14.

你可能感兴趣的:(python面试答题笔录)