Python自学 第二次作业

#coding=utf-8
'''
习题:

1 定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数)。

2 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)。

3 定义一个方法 func,该func引入任意多的列表参数,返回所有列表中最大的那个元素。

4 定义一个方法get_dir(f),f参数为任意一个磁盘路径,该函数返回路径下的所有文件夹组成的列表,如果没有文件夹则返回"Not dir"。


注明:吸取上次作业遇到的问题,要求写的函数逻辑清楚,并且考虑一些特殊的情况处理,能做断言的尽量用断言。

'''

#定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表

def get_num(num):
    '''
    定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型。其他类型则报错,并且返回一个偶数列表
    @:param numlist
    @:return  list
    '''
    returnlist = []
    if type(num) != list:
        print 'error,type of numlist is not a list'
        return None
    else:
        for i in num:
            if isinstance(i,int):
                if i % 2 == 0:
                    returnlist.append(i)
            else:
                print 'wrong type'
    return returnlist
#加上一个断言表示,判定,也是测试
assert get_num([1,2,3,4,5,6])==[2,4,6]

print get_num([1,2,3,4,5,6])

import urllib

def get_page(url):
    try:
        response = urllib.urlopen(url)
        html = response.read()
        print(html)
    except Exception as e:
        return 'Url Error'

#get_page('http://www.csdn.net')

def get_bignum(*num_list):
    for i in num_list:
        i = sorted(i)
        max = []
        max.append(i[-1])
    for j in max:
        max=sorted(max)
        return max[-1]
assert get_bignum((1,3,4),(2,4,1),(3,4,6)) == 6

#获得指定目录下由文件夹构成的列表,中文名好似不支持啊

import glob
import os
def get_dir(f):
    '''
    :param f:the path of file
    :return: the list
    '''
    if os.path.exists(f) == True:
        print 'exist file path'
    else:
        print 'not exist'

    if os.path.exists(f):
        dir_list = []
        file_list = glob.glob(f + "\*")
        for i in file_list:
            if os.path.isdir(i):
                dir_list.append(i.split("\\")[-1])
        if len(dir_list) == 0:
            return
        else:
              return dir_list
    else:
        print 'path is not exist'



print get_dir("F:\\")


#def func2(*kargs,**kwargs):
#   return kargs

#print func2(1,2,3,4,2,3,3,32,[1,2,3,4])
a = [1,2,3,45,54]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值