1. 程式人生 > 其它 >牛年第一篇---python相關,含面試題

牛年第一篇---python相關,含面試題

技術標籤:python

2020年動盪的一年,我,也出去面試過很多,也曾被有些企業傷得很深。軟體測試工程師,出去會問些什麼問題?
第一次去的時候,沒有任何的準備,抱著積攢經驗的想法,果不其然,被大虐。
雖然面試官脾氣很好,但是問題深深的刻在了我的腦海裡。
這邊就分享一道題目,遞迴函式
敲黑板,寫出來。
現在的我,真的小case,但是當時的我確實只知道演算法,怎麼規範的寫出來,真的是太為難我了。本想著憑藉我的三寸不爛之舌,告訴他我都懂,實際運用的時候,肯定會。但是對方一定要看我的代買修養,顯而易見,這邊的結果,肯定是我輸了,心福口服的輸了
那這邊先給在學習python的你分享一個簡單的遞迴函式:

def f(n):
    if n==1:
        return 1
    else:
        return n*f(n-1)
print (f(5))

輸出結果:
在這裡插入圖片描述
現在回頭是真的簡單,但是沒有準備的時候是真的難。

**斐波那契也是遞迴函式,**那小夥伴們,如果面試官讓你寫出相關演算法,你知道嘛?
這邊也給大家分享一個

def fibs(n):
    result=[0,1]
    for i in range(n-2):#想要多少個,就減去之前的2個
        result.append(result[-2]+result[-1])
    return result

print (fibs(11))

是不是很簡單?一定要學會掌握基礎哦。
現在是一些簡單函式變數,但是在我們學習過程中,時刻都能運用到。

#區域性變數
def func(x):
    print ('x is',x)
    x=2
    print ('Changed local x to',x)
x=50
func(x)
print ('x is still',x)
#全域性變數  global 語句被用來生命x 是全域性,因此在執行完func函式後,x的值已經發生了改變,並且作用於整個程式,因此最後的輸入結果為2
def funcx():
    global y
    print ('x is',y)
    y=
2 print ('Changed local x to',y) y=50 funcx() print ('Value of x is ',y)
#預設引數
def say(message,times=1):
    print (message*times)
say('hello')
say('world',5)
#關鍵引數
def func(a,b=5,c=10):
    print ( 'a is',a, 'and b is',b,'and c is',c)
func(3,7)
func(24,c=32)
func(c=23,a=14)

開工第一天,大家一起加油,今天分享的就這麼多,希望大家2021,都能找到好工作,實現美好的願望!