函式部分相關練習題及解答

2022-09-17 04:09:15 字數 3107 閱讀 5171

1、寫函式,計算傳入字串中【數字】、【字母】、【空格] 以及 【其他】的個數

分析:需要計算【數字】等的個數,需首先判斷該元素是不是數字或字母,需要呼叫元素屬性判斷,例子如下:

1 str1="

dadsddsfd 6 reerere0r089eeffefdfd~ewrer#"2

defst(string):

3 all_sum=0

4 space_sum=0

5 digit_sum=0

6 oth_sum=0

7for i in

string:8if

i.isdigit():

9 digit_sum+=1;

10elif

i.isspace():

11 space_sum+=1;

12elif

i.isalpha():

13 all_sum+=1

14else

:15 oth_sum+=1;

16return

(all_sum,space_sum,digit_sum,oth_sum)

1718 rr=st(str1)

19print(rr)

2、寫函式,判斷使用者傳入的物件(字串、列表、元組)長度是否大於5。

分析:先判斷傳入的物件是否為字串、列表或者元組,如果是則呼叫這些物件的的len方法來判斷物件的長度

def

length(p):

if isinstance(p,str)or isinstance(p.list) or

isinstance(p,tuple):

if len(p)>5:

return

"長度大於5

"else

:

return

false

return

none

temp="

hello,

"ret=length(temp)

print(ret)

3、寫函式,檢查使用者傳入的物件(字串、列表、元組)的每乙個元素是否含有空格。
1

defcontainspace(s):

2if isinstance(s,str)or isinstance(s,list) or

isinstance(s,tuple):

3for i ins:4

ifi.isspace():

5return

"該物件的元素含有空格"6

else:7

return

"該物件的元素不含空格"8

9 ll=['

',"123"]

10 ret4=containspace(ll)

11print(ret4)

4、寫函式,檢查傳入列表的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。

#分析:本例子要用到列表的擷取,本例考慮到返回的仍舊為列表,存在瑕疵,若列表長度小於2,則系統報錯;

1

def split1(*s):

2if len(s)>2:

3 ret=s[0:2]

4print

(list(ret))

5return

true

6else:7

return

false;

8 l1=[1,2,3,4,5]

9 split1(*l1)

5、寫函式,檢查獲取傳入列表或元組物件的所有奇數字索引對應的元素,並將其作為新列表返回給呼叫者。

#若要查詢下標所對應的元組,則應首先查詢出所有的下標,考慮用for迴圈遍歷;考慮到傳入物件,所以使用動態引數

1

def new_li(*l):

2 result=

3for i in

range(len(l)):

4if i%2==1:56

return

result;

7 ret1=new_li(1,23,45,566,77,8,9)

8print(ret1)

#

方法二def odd(*a):

result=

for k,v in

enumerate(a):

if k%2==1:

return

result

ret2=odd(1,3,5,6,6,77,88,8)

print(ret2)

6、寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。

#由於傳入的物件是字典,考慮到用動態函式,接收的引數為字典格式

1

def dic(**d):

2for i in

d.values():

3if len(i)>2:

4 ret=i[0:2]

5print

(ret)

6else:7

return

false

8 dic(k1="

hello world

",k2=[11,22,33,44])

練習:斐波拉契數列,即後面乙個數的值等於前面兩個數之和

1

#斐波拉契數列 即後乙個數等於前兩個數之和2#

分析:斐波拉契數列是一組數字,這組數字從第三個數字開始,後面的數等於前兩個數之和

3def

fib(n):

4 result=;

5 a,b=0,1;

6while b78 a,b=b,a+b

9return

result

1011

print(fib(50))

函式相關練習題

1,寫函式,接收乙個引數 此引數型別必須是可迭代物件 將可迭代物件的每個元素以 相連線,形成新的字串,並返回.例如 傳入的可迭代物件為 1,天王 劉德華 返回的結果為 1 天王 劉德華 1 def func lst l1 for i in lst return join l1 print func ...

函式相關的練習題

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...