练习题

利用切片操作,实现一个trim()函数,去除字符串首尾的空格

def trim(s):
    if s[:1] !=' ' and s[:-1] != ' ':
        return s
    elif s[:1]==' ':
        return trim(s[1:])
    else:
       return trim(s[:-1])
       
print(trim('    test'))

 请使用迭代查找一个list中最小和最大值,并返回一个tuple

list=[0,1,2,3,4,5,6,7,8,9,10]
def findMinAndMax(list):
    if list==[]:
        return (None,None)
    else:
        min=list[0]
        max=list[0]
        for i in list:
            if min>i:
                min=i
            if max < i:
                max=i
        return (min,max)
print(findMinAndMax(list))

 修改列表生成式,通过添加if语句保证列表生成式能正确地执行

list=[1,2,3,'A','B','C']
list2=[s.lower() for s in list if isinstance(s,str)==True]
print(list2)

斐波拉契数列

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        print(b)
        a, b = b, a + b
        n = n + 1
    return 'done'
fib(6)

函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator(生成器)

 

posted on 2018-04-24 10:43  半日闲人  阅读(95)  评论(0)    收藏  举报