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方法來判斷物件的長度
deflength(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、寫函式,檢查使用者傳入的物件(字串、列表、元組)的每乙個元素是否含有空格。
1defcontainspace(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,則系統報錯;
1def 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迴圈遍歷;考慮到傳入物件,所以使用動態引數
1def 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,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。
#由於傳入的物件是字典,考慮到用動態函式,接收的引數為字典格式
1def 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...