函式相關練習題

2022-05-01 16:03:13 字數 3383 閱讀 5249

1,寫函式,接收乙個引數(此引數型別必須是可迭代物件),將可迭代物件的每個元素以』_』相連線,形成新的字串,並返回.

例如 傳入的可迭代物件為[1,'

天王','

劉德華']返回的結果為』1_天王_劉德華'

1)def

func(lst):

l1 =

for i in

lst:

return'_

'.join(l1)

print(func([1,'

天王','

劉德華'

]))2)

deffunc(lst):

s = ''

for i in

lst:

s=s+str(i)+'_'

return s.strip('_'

)print(func([1,'

天王','

劉德華']))

2,寫函式,傳入n個數,返回字典

例如:min_max(2,5,7,8,4) 返回:(此題用到max(),min()內建函式)

1)def func(*args):

the_max =args[0]

the_min =args[0]

for i in

args:

if i >the_max:

the_max =i

elif i the_min =i

return

ret=func(1,3,23,4,8,34,78)

print

(ret)

2)def func(*args):

return

ret=func(1,3,23,4,8,34,78)

print(ret)

3,寫函式,傳入乙個引數n,返回n的階乘

如:cal(7) 計算7*6*5*4*3*2*1

1)def

cal(n):

sum = 1

for i in range(n, 0, -1):

sum = sum *i

return

sumprint(cal(3))

2)def

cal(n):

sum = 1

while n >0:

sum =sum *n

n -= 1

return

sumprint(cal(3))

4,寫函式,返回乙個撲克牌列表,裡面有52項,每一項是乙個元組

例如:[(『紅心』,2),(『草花』,2), …(『黑桃』,『a』)]

deffunc():

result=

lst1 = ['

紅心','

草花','

黑桃','方片'

] lst2 = [2,3,4,5,6,7,8,9,10,'

j','

q','

k','a'

]

for i in

lst1:

for j in

lst2:

#小括號是本題要重點注意的

return

result

print(func())

5,#

寫**完成99乘法表.

for x in range(1,10):

for y in range(1,x+1):

r=x*y

print("

%s * %s= %s

" % (x,y,r),"

",end=""

)

print(end="

\n")

6, 一道公司的面試題

1)def calc(a,b,c,d=1,e=2):

return (a+b)*(c-d)+e

print(calc(1,2,3,4,5)) #

2print(calc(1,2)) #

errprint(calc(e=4,c=5,a=2,b=3)) #

24print(calc(1,2,3)) #

8print(calc(1,2,3,e=4)) #

10print(calc(1,2,3,d=5,4)) #

eerr

2)def extendlist(val, list=): #

預設值如果是可變的資料型別. 每次使用的時候都是同乙個

#print(id(list))##

return list##

#list1 = extendlist(10)

#list2 = extendlist(123, )

#list3 = extendlist('a')##

print('list1=%s' % list1) #list1=[10, 'a']

#print('list2=%s' % list2) #list2=[123]

#print('list3=%s' % list3) #list3=[10,'a']

7,寫函式,函式接收四個引數分別是:姓名,性別,年齡,學歷。支援使用者持續輸入,q或者q退出,使用者通過輸入這四個內容,

性別預設為男,如果遇到女學生,則把性別輸入女;然後將這四個內容傳入到函式中,將內容追加到乙個student_msg檔案中。

def func(name,age,edu,gender='男'

): f=open('

student_msg

',mode='

a',encoding='

utf-8')

f.write('\n

'+name + '

_' + gender + '

_' + age + '

_' +edu)

while 1:

content = input('

是否繼續錄入學生資訊(輸入q退出):')

if content.upper() == 'q'

:

break

else

: name = input('

請輸入姓名:')

gender=input('

請輸入性別:')

age = input('

請輸入年齡:')

edu = input('

請輸入學歷:')

if gender == ''

: func(name,age,edu)

else

: func(name,gender,age,edu)

函式相關的練習題

1 實現乙個函式,列印乘法口訣表,口訣表的行數和列數自己指定。例如 輸入9,輸出99口訣表,輸入12,輸出1212的乘法口訣表。define crt secure no warnings include include void multi int n putchar n int main 2 使用...

dfs相關練習題

給定整數序列a1,a2,an,判斷是否可以從中選出若干個數,使它們的和恰好為k 輸入 n 4 a k 13 輸出 yes 13 2 4 7 public class 部分和 int k sc.nextint kk k dfs a,k,0,newarraylist public static void...

函式練習題

1.打字軟體的正確率 編寫函式,計算字串匹配的準確率,類似於打字軟體 orginstr為原始內容,userstr為使用者輸入內容 2.模擬輪盤 遊戲 轉盤分為三部分 一等獎 二等獎和三等獎 輪盤轉的時候是隨機的,如果範圍在 0,0.08 之間,代表一等獎 如果範圍在 0.08,0.3 之間,代表二等...