python3 函数练习题


#!/usr/bin/env python
# -*- coding:utf-8 -*-
1.计算传入字符串中数字,字母,空格,以及其它的个数
def f(a):
al_num = 0
space_num = 0
dig_num = 0
other_num = 0
for n in a:
if n.isdigit()==True:
dig_num+=1
elif n.isspace()==True:
space_num+=1
elif n.isalpha()==True:
al_num+=1
else:
other_num+=1
return(dig_num,space_num,al_num,other_num)

r=f("134bb **")
print(r)

#!/usr/bin/env python
# -*- coding:utf-8 -*-

2.判断用户传入的对象长度是否大于5
def f2(arg):
#isinstance()判断对象是否为字符串,列表,元组
if isinstance(arg,str) or isinstance(arg,list) or isinstance(arg,tuple):
if len(arg)>=5:
return True
else:
return False
else:
return None
r=f2(123)
print(r)

3.检查元素是否含有空内容
def f3(a):
ret=True
for n in a:
if n.isspace():
ret=False
break
return ret

r2=f3("134 4 5")
print(r2)

4.检查传入列表的长度,大于2的话,保留前两个长度的内容,并将新内容返回给调用者

#引用传入的变量值
def f4(a):
if len(a)>2:
return (a[0:2])
return a
l1=f4([1,3,8,24,23,35,100])
print (l1)

#当函数形参是一个数值,引用传入的变量值
def f4(a):
a=[123]
li=[11,22,33]
f4(li)
print(li)

#当函数形参是一个变量,引用传入的变量值
def f5(arg):
if len(arg)>2:
del arg[2:]
li=[11,22,33,44,24]
f5(li)
print(li)


5.查出奇数索引的元素并插入到新的列表中
def f5(a):
c =[]
for i in range(len(a)):
if (i%2) ==1:
c.append(a[i])
return c

l1=(1,3,8,24,32,50)
print(f5(l1))

6.检查传入的每个字典的value长度,如果大于2,保留前两个长度的内容,并将新内容返回给调用者

#方法一,创建新变量,把key,value赋值给新变量并返回给用户:
def f6(arg):
ret={}
for key,value in arg.items():
if len(value)>2:
ret[key]=value[0:2]
else:
ret[key]=value
return ret
d1={"k1":'12345',"k2":[1,2,3,8,24,35],"k3":'12'}
print(f6(d1))


#方法二,改变原有变量的值,并返回给用户:

def f6(arg):
for key,value in arg.items():
if len(value)>2:
arg[key]=value[0:2]
else:
arg[key]=value
return arg
d1={"k1":'12345',"k2":[1,2,3,8,24,35],"k3":'34'}
f6(d1)
print(d1)


7.利用递归获取斐波那契列中的第10个数
def f7(n):
a,b=0,1
for i in range(n-1):
a,b=b,a+b
return a

print(f7(10))



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM