Python 2018年5/5日学习作业

1.写函数,计算传入字符串中【数字】、【字母】、【空格】以及【其他】的个数

2.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5

3.写函数,检查用户传入的对像(字符串、列表、元组)的每一个元素是否含有空内容

4.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者

5.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者

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

解答:

1.

def func1(a):
    count1 = 0
    count2 = 0
    count3 = 0
    count4 = 0
    for i in a:
        if i.isdigit():#数字
            count1+=1
        elif i.isalpha():#字母
            count2+=1
        elif i.isspace():#空格
            count3+=1
        else:#其他
            count4+=1
    print("数字有%d个:" % count1)
    print("字母有%d个:" % count2)
    print("空格有%d个:" % count3)
    print("其他有%d个:" % count4)
    return (count1, count2, count3, count4)
str_num = input("输入:")
func1(str_num)

2.

def func1(args):
    if  isinstance(args,str) or (args,list) or(args,tuple):
        if len(args)>5:
            print("该字符串长度大于5")
        else:
            print("该字符串长度不大于5")
    else:
        return  None
string = "123abc"
li = [11,22,33,44,55,99]
tu = {"apple","orange"}
func1(string)
func1(li)
func1(tu)

3.

def func1(args):
    ret = True
    for i in args:
        if i.isspace():
            ret = False
            break
    return ret
string = "123 abc"
result = func1(string)
print(result)

4.

#函数传参,传引用
def fun1(args):
    if len(args)>2:
        return args[0:2]
    else:
        return  args
li = [11,22,33,44]
ret = fun1(li)
print(ret)
注意:
 
 
 
 
 
 
def f2(arg):
    if len(arg)>2:
        del arg[2:]
li = [11,22,33,44]
f2(li)
print(li)
def f3(arg):
    arg = 123
li = [11,22,33,44]
f3(li)
print(li)
总结:一旦变量遇到等号,name=xxx,
如果xxx是真实值,则创建新内存,
如果xxx是变量,则不创建内存,共同指向一个

5.

def f5(arg):
    new_li = []
    for i in range(len(arg)):
        print(i)
        if i%2 == 1:
            new_li.append(arg[i])
    return new_li
li = [11,22,33,44,55]
ret = f5(li)
print(ret)

6.

def f6(arg):
    new_dic = {}
    for key,value in arg.items():
        if len(value)>2:
            new_dic[key] = value[0:2]
        else:
            new_dic[key]= value
    return  new_dic
dic = {"k1":"aaa","k2":"bb","k3":"ccc"}
ret = f6(dic)
print(ret)



猜你喜欢

转载自blog.csdn.net/ynyang17/article/details/80215271