日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
11道面試中不常見卻一定會問到Python題解析

Python面試題解析

編者按:

恰逢金三銀四招聘季,很多朋友都在忙著跳槽找工作,不斷的面試……我們知道網(wǎng)上有非常多面試題的解析,但是其中往往是前幾年的老題了。 為了幫助小伙伴們能夠在Python工作面試中脫穎而出,再此特別奉上2019年11道***Python面試大題及答題思路解析。

1、請用python編寫函數(shù)find_string,從文本中搜索并打印內(nèi)容,要求支持通配符星號和問號。

例子:

  
 
 
  1. >>>find_string('hello\nworld\n','wor') 
  2. ['wor'] 
  3. >>>find_string('hello\nworld\n','l*d') 
  4. ['ld'] 
  5. >>>find_string('hello\nworld\n','o.') 
  6. ['or'] 

解析:

  
 
 
  1. def find_string(str_in,pat): 
  2.  import re 
  3.  return re.findall(pat,str_in,re.I)   

2、看你T恤上印著:人生苦短,我用Python,你可否說說Python到底是什么樣的語言?你可以比較其他技術(shù)或者語言來回答你的問題。

解析:

這里是一些關(guān)鍵點:Python是解釋型語言。這意味著不像C和其他語言,Python運行前不需要編譯。其他解釋型語言包括PHP和Ruby。

1.Python是動態(tài)類型的,這意味著你不需要在聲明變量時指定類型。你可以先定義x=111,然后 x=”I’m a string”。

2.Python是面向?qū)ο笳Z言,所有允許定義類并且可以繼承和組合。Python沒有訪問訪問標識如在C++中的public, private, 這就非常信任程序員的素質(zhì),相信每個程序員都是“成人”了~

3.在Python中,函數(shù)是一等公民。這就意味著它們可以被賦值,從其他函數(shù)返回值,并且傳遞函數(shù)對象。類不是一等公民。

4.寫Python代碼很快,但是跑起來會比編譯型語言慢。幸運的是,Python允許使用C擴展寫程序,所以瓶頸可以得到處理。Numpy庫就是一個很好例子,因為很多代碼不是Python直接寫的,所以運行很快。

5.Python使用場景很多 – web應(yīng)用開發(fā)、大數(shù)據(jù)應(yīng)用、數(shù)據(jù)科學(xué)、人工智能等等。它也經(jīng)常被看做“膠水”語言,使得不同語言間可以銜接上。

6.Python能夠簡化工作 ,使得程序員能夠關(guān)心如何重寫代碼而不是詳細看一遍底層實現(xiàn)。

本題解析來源:@David 9,鏈接:http://nooverfit.com/wp/15

3、請寫出一段Python代碼實現(xiàn)刪除一個list里面的重復(fù)元素。

解析:

1.使用set函數(shù),set(list)

2.使用字典函數(shù),

  
 
 
  1. >>>a=[1,2,4,2,4,5,6,5,7,8,9,0] 
  2. >>> b={} 
  3. >>>b=b.fromkeys(a) 
  4. >>>c=list(b.keys()) 
  5. >>> c 

本題解析來源:@Tom_junsong

4、a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3],編程用 sort 進行排序,然后從***一個元素開始判斷?

解析:

  
 
 
  1. a.sort() 
  2. last=a[-1] 
  3. for i inrange(len(a)-2,-1,-1): 
  4. if last==a[i]: 
  5. del a[i] 
  6. else:last=a[i] 
  7. print(a) 

本題解析來源:@Tom_junsong

5、Python里面如何生成隨機數(shù)?

解析:

random模塊

隨機整數(shù):random.randint(a,b):返回隨機整數(shù)x,a<=x<=b

random.randrange(start,stop,[,step]):返回一個范圍在(start,stop,step)之間的隨機整數(shù),不包括結(jié)束值。

隨機實數(shù):random.random( ):返回0到1之間的浮點數(shù)

random.uniform(a,b):返回指定范圍內(nèi)的浮點數(shù)。

本題解析來源:@Tom_junsong

6、Python里面如何實現(xiàn)tuple和list的轉(zhuǎn)換?

解析:

直接使用tuple和list函數(shù)就行了,type()可以判斷對象的類型

7、什么是lambda函數(shù)?它有什么好處?

解析:

lambda 表達式,通常是在需要一個函數(shù),但是又不想費神去命名一個函數(shù)的場合下使用,也就是指匿名函數(shù)

lambda函數(shù):首要用途是指點短小的回調(diào)函數(shù)

  
 
 
  1. lambda [arguments]:expression 
  2. >>> a=lambdax,y:x+y 
  3. >>> a(3,11)  

8、- 輸入一個字符串 返回滿足以下條件的字符串

- 由字符串的最前面兩個字母和***兩個字母組成的字符串。

- 例如: 'spring' 返回 'spng', 'is' 返回 'is’

- 當(dāng)輸入的字符串長度小于2時,返回空字符串

解析:

  
 
 
  1. s=input('input:') 
  2. l=len(s) 
  3. if l<2: 
  4.     print('') 
  5. else : 
  6.     if l>3: 
  7.         s=s[:2]+s[-2:] 
  8.     print(s)  

9、把每個合數(shù)分解成幾個質(zhì)數(shù)相乘的形式,例如:100=2*2*5*5,并把代碼封裝成函數(shù)的形式

解析:

  
 
 
  1. def f(n): 
  2.     result = [] 
  3.     i = 2 
  4.     str1 = str(n) + '=' 
  5.     while n > 1: 
  6.         if n % i == 0: 
  7.             n /= i 
  8.             result.append(str(i)) 
  9.             i -= 1 
  10.         i += 1 
  11.     str1 += '*'.join(result) 
  12.     return str1 
  13.  
  14.  
  15. if __name__ == '__main__': 
  16.     for i in range(100, 120): 
  17.         print(f(i)) 

對n進行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)k,然后按下述步驟完成:

(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。

(2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行***步。

(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行***步。

10、請用Python手寫實現(xiàn)冒泡排序

解析:

冒泡排序的原理不難,假定要將被排序的數(shù)組R[1..n]從大到小垂直排列,每個數(shù)字R可以看作是重量為R.key的氣泡。

根據(jù)輕氣泡在上、重氣泡在上的原則,從下往上掃描數(shù)組R:凡掃描到違反本原則的輕氣泡,則使其向上"飄浮"。如此反復(fù)進行,直到***任何兩個氣泡都是輕者在上、重者在下為止。

然后將所有氣泡逆序,就實現(xiàn)了數(shù)組從小到大的排序。

步驟:

1 比較相鄰的元素。如果***個比第二個大,就交換他們兩個。

2 對第0個到第n-1個數(shù)據(jù)做同樣的工作。這時,***的數(shù)就到了數(shù)組***的位置上。

3 針對所有的元素重復(fù)以上的步驟,除了***一個。

4 持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

Python實現(xiàn)

  
 
 
  1. def bubble_sort(arry): 
  2.     #獲得數(shù)組的長度 
  3.     n = len(arry)                    
  4.     for i in range(n): 
  5.         for j in range(1,n-i): 
  6.             #如果前者比后者大 
  7.             if  arry[j-1] > arry[j] :   
  8.                 #則交換兩者      
  9.                 arry[j-1],arry[j] = arry[j],arry[j-1]       
  10.     return arry  

11、- 判斷是否為回文

- 提示:回文:62426是回文數(shù)字

解析:

  
 
 
  1. s=input('pls input a string of numbes:') 
  2. s_=s[::-1] 
  3. answer='isn\'t' 
  4. if s_==s: 
  5.     answer='is' 
  6. print(s,answer,'Palindrome number') 

如果您還想看更多關(guān)于Python的面試題,我們推薦你點擊“閱讀原文”到七月在線AI面試題題庫,題庫里目前擁有上千道AI面試題解析,涵蓋所有考點,包括機器學(xué)習(xí)、深度學(xué)習(xí)、Python、NLP、數(shù)據(jù)挖掘、算法等個方面。


網(wǎng)頁題目:11道面試中不常見卻一定會問到Python題解析
分享鏈接:http://www.5511xx.com/article/ccdsopo.html