《python核心编程》第十一章习题

11-1

# -*- coding:utf-8 -*-

def countToFour1():
    for eachNum in range(5):
        print eachNum,


def countToFour2(n):
    for eachNum in range(n, 5):
        print eachNum,


def countToFour3(n=1):
    for eachNum in range(n, 5):
        print eachNum,


def tests(f):
    for argu in [2, 4, 5, 'nothing']:
        print u'%s(%s) 输出:' % (f.__name__, argu),
        if argu == 'nothing':
            try:
                f()
                print '\n'
            except TypeError, e:
                print 'ERROR: ', e
                print '\n'

        else:
            try:
                f(argu)
                print '\n'
            except TypeError, e:
                print 'ERROR: ', e
                print '\n'


tests(countToFour1)
tests(countToFour2)
tests(countToFour3)

11-2

def demo(num1, num2):
    return (num1+num2, num1*num2)
    
n1 = input("type a num: ")
n2 = input("type another num: ")
print demo(n1, n2)

11-3

def max2(n1, n2):
    return n1 if n1 > n2 else n2
    
def min2(n1, n2):
    return n2 if n1 > n2 else n1
    
def max(seq, max2):
    m = seq[0]
    for i in seq:
        m = max2(m, seq[i])
    return m
    
def min(seq, min2):
    m = seq[0]
    for i in seq:
        m = min2(m, seq[i])
    return m
    
s = [0 ,1, 3, 2, 6,3, 4]
print max(s, max2)

11-4

11-7

a = [1, 2, 3, ...]
b = ['abc', 'def', 'ghi', ...]

map(None, a, b)
zip(a, b)

11-8

# -*- coding:utf-8 -*-

def year_judge(year):
    
    if (int(year) % 4 == 0 and int(year) % 100 != 0) or int(year) % 400 == 0:
        return True
    else:
        return False
    
someyears = range(1999, 2201)
leapyears = [year for year in someyears if year%4==0 and year%100!=0 or year%400==0]
print leapyears
print filter(year_judge, someyears)

11-9

#average
def average(list):
    sum = reduce(lambda x, y: x+y, list)
    aver = sum/len(list)
    return aver

a = [1, 2, 3]
average(a)

11-10

过滤掉folder文件目录下,空目录和'.'开头目录,并把剩余的目录传递回去。

11-11

# -*- coding:utf-8 -*-
import os

def clear_file(filename):
    fobj = open(filename, 'r')
    content = fobj.readlines()
    newcontent = map(lambda x: x.strip(), content)
    choice = int(raw_input(u'覆盖还是创建?覆盖1,创建2'.encode('gbk')))
    if choice == 1:
        fobj.close()
        fobj = open(filename, 'w')
    else:
        file_name = os.path.splitext(filename)
        new_name = (''.join((file_name[0]+'1', file_name[1])))#.encode('gbk')
        print new_name
        fobj = open(new_name, 'w')
        
    fobj.writelines('\n'.join(newcontent))
    fobj.close()
    
clear_file(u'D:\\python\\python核心\\doc.txt'.encode('gbk'))

 

转载于:https://my.oschina.net/hounLeft/blog/713518

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值