7道Python函式相關的練習題

2022-06-28 19:51:12 字數 3253 閱讀 7104

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

例如 傳入的可迭代物件為[1,'天王','劉德華']返回的結果為』1_天王_劉德華'

1 )

def func(lst):

l1 =

for i in lst:

return '_'.join(l1)

print(func([1,'天王','劉德華']))

2 )

def func(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:

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) 計算7654321

1 )

#python學習***:778463939

def cal(n):

sum = 1

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

sum = sum * i

return sum

print(cal(3))

2 )

def cal(n):

sum = 1

while n > 0:

sum =sum * n

n -= 1

return sum

print(cal(3))

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

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

def func():

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)) #2

print(calc(1,2)) #err

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

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

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

print(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)

8 26函式相關練習

1.concat 例 select concat no why from dual 註解 個人理解以下註解同下 其實就是將兩個字元拼接 於是我試了以下 例 select concat yes or no from dual 註解 報錯了 說明只能拼接倆個字元 2.substr substr 被擷取字...

函式相關的練習題

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

Python程式設計練習7

任務要求 編寫乙個函式,判斷從鍵盤輸入的字串是否只由數字組成,如果是返回該字串,否則返回false,實現如下效果圖 知識點 函式 input isdigit 方法 author 笨笨 date 2020 12 25 def is num str 1 input 請輸入字串 if str 1.isdi...