核心编程第八章

8-4 + 8-5

def divisor(num):
    result = []
    for i in range(1, num/2+1):
        if num % i == 0:
            result.append(i)
    result.append(num)
    return result


def isprime(num):
    if divisor(num) == [1, num]:
            return True
    else:
        return False

8-6

def divfactor(num):
    testprime = (i for i in divisor(num) if isprime(i))
    result = []
    for i in testprime:
        while True:
            if num % i == 0:
                result.append(i)
                num /= i
            else:
                break
    return result

8-7

def isperfect(num):
    a = divisor(num)
    a.remove(num)
    if sum(a) == num:
        return 1
    else:
        return 0

8-8

def factoria(num):
    s = 1
    for i in range(1,num+1):
        s *= i
    return s

print factoria(int(raw_input("num: ")))

8-9

def fib(num):
    if num <= 2:
        return 1
    else:
        return fib(num-1) + fib(num-2)
memo = {2: 1, 1: 1}


def fastfib(num, memo):
    if num <= 2:
        return memo[num]
    else:
        if num not in memo:
            memo[num] = fib(memo[num-1]) + fib(memo[num-2])
        return memo[num]

第二种方法速度较第一种快,第一种在数值较大时会很慢。

8-11

def nametrack():
    num = int(raw_input('Enter total number of names(a digit): '))
    result = []
    times = 1
    # input the name
    for i in range(num):
        prompt = 'Enter a name(Last name, First name)' + str(i) + ': '
        name = raw_input(prompt)
        if ', ' not in name:
            print '\n>>Wrong format... should be Last, First.'
            print '>>You have done this', times, 'tine(s) already. Fixing input...'
            times += 1

            # handle the name
            name = name.split(' ')
            name[0], name[1] = name[1], name[0]
        else:
            name = name.split(', ')
        result.append(name)

    # sort the name
    lookup = {alist[0]: alist[1] for alist in result}
    ziplist = zip(*result)
    sortedlist = sorted(ziplist[0])
    print '\nThe sorted list (by last name) is:'
    for i in sortedlist:
        print i + ', ' + lookup[i]
nametrack()

8-12

# -*- coding: utf-8 -*-
def printnumber():
    print '-' * 15
    start = int(raw_input(u'    输入起始值: '))
    stop = int(raw_input(u'    输入结束值: '))
    num = len(bin(stop)) - 2

    # 打印表格
    if stop < 33 or start > 137:
        print '{0:7}{1:{4}}{2:7}{3:7}'.format('DEC', 'BIN', 'OCT', 'HEX', num+5)
        print '-' * 31
        for i in range(start, stop+1):
            print '{0:<7}{0:>0{2}b}{1:5}{0:<2o}{1:5}{0:<7x}'.format(i, '', num)
    else:
        print '{0:7}{1:{5}}{2:7}{3:7}{4:6}'.format('DEC', 'BIN', 'OCT', 'HEX', 'ASCII', num+5)
        print '-' * 37
        for i in range(start, stop+1):
            print '{0:<7}{0:>0{2}b}{1:5}{0:<2o}{1:5}{0:<7x}{0:<6c}'.format(i, '', num)
printnumber()


转载于:https://my.oschina.net/u/2519674/blog/658954

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的纺织品企业财务管理系统,源码+数据库+毕业论文+视频演示 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对纺织品企业财务信息管理的提升,也为了对纺织品企业财务信息进行更好的维护,纺织品企业财务管理系统的出现就变得水到渠成不可缺少。通过对纺织品企业财务管理系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。 纺织品企业财务管理系统通过MySQL数据库与Spring Boot框架进行开发,纺织品企业财务管理系统能够实现对财务人员,员工,收费信息,支出信息,薪资信息,留言信息,报销信息等信息的管理。 通过纺织品企业财务管理系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源,为环境保护也做了力所能及的贡献。 关键字:纺织品企业财务管理系统,薪资信息,报销信息;SpringBoot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值