《Python核心编程》第八章编程题代码

来源:互联网 发布:题目解答软件 编辑:程序博客网 时间:2024/06/05 09:43

刚学Python 如代码不足,望见谅
8.4

__author__ = 'shiqifeng'#! /usr/bin/env pythondef isprime(num) :   count = num / 2   while count > 1 :       if  num % count == 0 :           return False           break       count = count - 1   else :        return Truenum = raw_input('Enter a number')if isprime(int(num)) :    print num ,'is primer number'else :    print num , 'is not primer number'

8.6

__author__ = 'shiqifeng'#! usr/bin/env pythondef isprime(num) :#判断是否是素数   count = num / 2   while count > 1 :       if  num % count == 0 :           return False           break       count = count - 1   else :       return Truedef getfactors (num) :#构造一个约数组    count = num    list = []    while count > 0 :       if num % count == 0 :          list.append(count)       count = count - 1    return listnum = raw_input('Enter a number')#构造一个素约数组PrimeList = []number = int(num)for eachnum in getfactors(number) :    if isprime(eachnum) :         PrimeList.append(eachnum)NewPrimeList = []#得到素因子while number > 1 :    for eachnum in PrimeList :        if number % eachnum == 0 :            number /= eachnum            NewPrimeList.append(eachnum)            breakprint NewPrimeList

8.7

__author__ = 'shiqifeng'#! /usr/bin/env pythondef getfactors (num) :    count = num - 1    list = []    while count > 0 :       if num % count == 0 :          list.append(count)       count = count - 1    return listsum = 0num = raw_input('Enter a number')number = int(num)for eachnum in getfactors(number) :    sum += eachnumif sum == number :    print '1'else :    print '0'

8.8

__author__ = 'shiqifeng'#!/usr/bin/env pythondef factorial(N) :    FacNumber = 1    for eachnum in range(1 , N + 1 , 1) :        FacNumber *= eachnum    return FacNumberN = raw_input('Enter a number')number = int(N)print len(str(factorial(number)))

8.9

__author__ = 'shiqifeng'#! /usr/bin/env pythondef fbnq(N) :    num1,num2,count,num = 1 , 2 , 3 , 0    while count < N :        num = num1 + num2        num1 = num2        num2 = num        count = count + 1    return numprint fbnq(6)

剩余题
未完待续

0 0
原创粉丝点击