python-code-02

1、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def func1(seq1):
    dic={
        'num':0,
        'string':0,
        'space':0,
        'other':0
    }
    for line in seq1:
        if line.isdigit():
            dic['num'] += 1
        elif line.isalpha():
            dic['string'] += 1
        elif line.isspace():
            dic['space'] += 1
        else:
            dic['other'] += 1
    return dic
print(func1('dfasfdaslfkjl    12312 @@!#!@#'))
View Code

2、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def func2(seq2):
    if len(seq2) > 5:
        return True
    return False
print(func2([1,2,3,4,5,6]))
View Code

3、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def func3(seq3):
    if len(seq3) > 2:
        return seq3[:2]
print(func3([1,2,3,4,5]))
View Code

4、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func4(seq4):
    return seq4[::2]
print(func4([1,2,3,4,5,6]))
View Code


5、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表

6.写出上述代码的执行流程
x=1
def f1():
    def f2():
        print(x)
    return f2
x=100
def f3(func):
    x=2
    func()
x=10000
f3(f1())
View Code
调用f3,先执行f1返回f2内存地址当参数传给f3,执行f3,调用f2,输出x 因为调用时x=10000 所以输出10000

比较: a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?
a和b值相等,id不同
c是元组
a = [1,2,3]
b = [(1),(2),(3) ]
print(a == b)
print(a is b)
View Code
如何实现[‘1’,’2’,’3’]变成[1,2,3] ?
l = ['1','2','3']
new_l = []
for line in l:
    new_l.append(int(line))
print(new_l)


l = ['1','2','3']
for k,v in enumerate(l):
    l[k] = int(v)
print(l)
View Code
如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?
str1 = '1,2,3'
l = str1.split(',')
print(l)
View Code

猜你喜欢

转载自www.cnblogs.com/xujinjin18/p/9157909.html