python的一些面試題(2)
阿新 • • 發佈:2019-01-18
false form exce urn 三種 block ret exceptio for 循環
4.Python Ctrl+C會引發什麽類型的異常
正在運行的程序發送Ctrl+C鍵盤消息會引發KeyBoardInterrupt異常,他的基類異常是BaseException。
5.編寫一個測試回文,從左往右讀和從右往左讀結果一樣
#-*- coding: utf-8 -*- #直接翻轉列表 tmp = 'axxa' print tmp == tmp[::-1] x = [1,1,1,] print x,reversed(x),type(reversed(x)) print x == list(reversed(x)) def isEques(tmp): flag = True lens = len(tmp) count = 0 while count < lens/2: if tmp[count] != tmp[lens - count -1]: flag = False count += 1 if not flag: break if flag: print "{} 是回文".format(tmp) else: print "{} 不是回文".format(tmp) isEques('axxxxxxxxxxxxxxxxxa') isEques('axxddxxa')
6.斐波那契數列的三種實現方式
- 函數遞歸
- while 或者 for 循環
- yield 生成器的方式
#-*- coding: utf-8 -*- #斐波那契數列的幾種實現方式 #遞歸 def feibonaqie(x): if x == 1 or x == 2: return x return feibonaqie(x -1) + feibonaqie(x - 2) res = list() for i in range(1,12): res.append(feibonaqie(i)) # print feibonaqie(i) print res #循環的方式實現 def fba(n): b,a = 1,1 res = list() if n <= 2: res.append(1) else: # res.append(1) for _ in range(1,n - 1): a,b = b,a+b res.append(a) return res print fba(13) #生成器的方式實現 def febyil(n): i,num1,num2 = 0,1,1 while i < n - 1: yield num2 i += 1 num1,num2 = num2,num1+num2 print febyil(13) print list(febyil(13))
python的一些面試題(2)