4 26學習筆記 作業

2021-09-19 20:47:25 字數 4204 閱讀 4654

#函式的定義

def hanshu(a,b):

c=a+b

return(c)

x=hanshu(1,2)

print(x) #結果:3

a=5def hanshu():

return 5+a

a=6def hanshu1():

return 5+a

a=7def hanshu2():

return 5+a

print(hanshu()) #12

print(hanshu1()) #12

print(hanshu2()) #12

#這裡a最後的賦值是7,最後列印的時候才走return,所以都是5+7=12

#形參實參

def func(a,b):  #a,b就表示形參

c=a+b

return c

x=func(1,2) #這裡的1,2與下面的3,4都代表的實參

y=func(3,4)

print(x,y)

#位置引數與關鍵字引數

def people(name,age,***):

print("我叫",name)

print("年齡",age)

print("性別",***)

people("張三",19,"男")#位置引數必須一一對應

print()

people(***="女",name="李四",age=29)#關鍵字引數k-v相互對應,所以,對位置沒有要求

#關鍵字引數必須放在位置引數後面

def hanshu(a,b):

c=a+b

return c

x=hanshu(5,b=7)#關鍵字引數在位置引數後面所以可以正常執行

print(x)

# y=hanshu(a=5,7) #報錯:syntaxerror: positional argument follows keyword argument

print(y)

#預設引數

def student(name,age,***="男"):

print(name,age,***)

student("張三",19,"女") #結果:張三 19 女

student("李四",20) #結果: 李四 20 男

#在李四這一欄裡並沒有輸入性別,但最後的結果會出現性別,就是因為在定義的時候已經預設了性別是男

# 如果後面引數中沒有寫性別,則使用預設的性別,寫的話就使用寫的性別

#另外注意預設的引數一定要放在最後面

*# 具有打散序列的功能

def func(a,b,c):

print(a,b,c)

tup=(1,2,3)

func(*tup)#結果:1 2 3

tup=(1,2,3,4)

print(*tup) #結果:1 2 3 4

list=[1,2,3,4]

print(*list) #結果:1 2 3 4

str="asdfg"

print(*str) #結果:a s d f g

def kb(a,b,*c):

print(a)

print(b)

print(c)

kb(1,2,3,4,5,6,7)

**# 結果:12

(3, 4, 5, 6, 7)

kb(1,2)

# 結果:

12()

#定義字典

def kb(a,**kwargs):

print(a,kwargs)

kb(1,name="張三",age=19,***="男")

kb(2,name="李四",age=20,id=1001)

kb(3)

#結果1

2 3 {}

def func(name,age):

print(name,age)

a=func(**a) #結果:張三 19

def jisuan(a,b):

i=0while i<3:

a=a+b

return a

i+=1

return 10

x=jisuan(2,3)

print(x) #結果:5 return具有結束的功能,因此只執行一次迴圈就結束了

def hanshu(a,b):

c=a+b

return c

d=a-b

return d

x=hanshu(2,3)

print(x) #結果:5

#return具有結束的功能,因此d=a-b不執行

#階乘

def jiecheng(n):

if n==1:

return 1

else:

return(n*jiecheng(n-1))

x=jiecheng(5)

print(x) #結果:120

#斐波那契

def fbnq(n):

if n==1 or n==2:

return 1

else:

return fbnq(n-1)+fbnq(n-2)

for x in range(1,11):

print("第",x,"個月兔子的個數是",fbnq(x))

#二分查詢

def zbcz(a,start,end,key):

mid=(start+end)//2

if a[mid]==key:

return mid

elif a[mid]>key:

return zbcz(a,start,mid-1,key)

elif a[mid]#作業

# 練習傳遞引數

# 1、寫乙個函式實現斐波那契數列(1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377…)

# 要求:接收乙個引數,返回乙個存著等量值的列表

def func(num):

a=1b=1

if num<=2:

print(a,a+b,end=" ")

else:

while num>0:

print(b,end=" ")

a,b=b,a+b

num-=1

func(10)

print()

# 2.計算任意多個數字的和

# 需求

# (1).定義乙個函式 sum_numbers,可以接收的 任意多個整

# (2).功能要求:將傳遞的 所有數字累加 並且返回累加結果

def sum_numbers(*args):

num=0

for x in args:

num+=x

return num

print(sum_numbers(1,2,3))

# 3.使用遞迴,計算 1 + 2 + … num 的結果

def sum_numbers(num):

if num==1:

return 1

else:

num =num+sum_numbers(num-1)

return num

print(sum_numbers(5))

4 24課堂筆記 作業

1 for for for i in range 1,6 for j in range i print end print 2 for while for i in range 1,6 j 1while j i print end j 1 print 3 while while i 1while i...

lua學習筆記 作用域

塊,作用域 全域性和區域性,預設情況下,為全域性變數,除非特殊說明是區域性 中 do end塊內定義的變數無法被外部訪問,同時任何在外圍定義的區域性變數也無法被內部訪問。強制轉換 根據特定的轉換規則 如果可能的話 將字串轉換成數字,從而在字串和數字之間實現算術運算的過程 這裡先將b轉換成數字,然後再...

李巨集毅《機器學習》課程筆記(作業四 RNN)

rnn和半監督學習需要後面補上。word embedding是想做乙個什麼事情呢,是希望把詞彙用乙個比較短的向量表達出來,因為通常的詞彙的表達是通過乙個非常長的 詞典那麼長的 1 of n向量來表達,這樣的表達沒有資訊,我們希望能用乙個短向量 例如10或100維 來表達詞彙,就需要每個維度表達一些資...