python程序设计教程(第2版)习题6-习题7代码答案

1.编写两个函数分别按单利和复利计算利息,根据本金、年利率、存款年限得到本息和和利息。调用这两个函数计算1000元在银行存3年,在年利率是6%的情况下,单利和复利分别获得的本息和和利息。单利计算指只有本金计算利息。复利计算是指不仅本金计算利息,利息也计算利息,也就是通常所说的“利滚利”。如这题按单利计算本息和1000+1000X6%X3=1180元,其中利息为180元;按复利计算本息和1000X(1+6%)=1191.016元,其中利息为191.016元.

def single(t):
    sum=t*0.06*3
    return sum
def complex(t):
    sum=t*(1+0.06)**3-t
    return sum
if __name__=='__main__':
    t=int(input('本金为:'))
    print(f'单利为{single(t)}元')
    print(f'复利为{complex(t)}元')

2.编写函数,判断一个 数是否为素数。调用该函数判断从键盘中输人的数是否为素时素数也称质数,是指只能被1和它本身整除的数。

def judge(t):
    if t == 2:
        print('2为质数')
    else:
        for i in range(2,t):
            if t%i==0:
                print(f'{t}不是质数')
                break
            if t==i+1:
                print(f'{t}为质数')
if __name__=='__main__':
    t=int(input('输入你想判断的数字:'))
    judge(t)

3.编写函数,求出一个数除了1和自身以外的因子。从键盘输人一个数,调用该函数输出除了1和它自身以外的所有因子。

def judge(t):
    list=[]
    for i in range(2,t):
        if t%i==0:
            list.append(i)
    print(list)
if __name__=="__main__":
    t=int(input('输入你想判断的数子:'))
    judge(t)

4.编写函数,判断一个数是否为水仙花数。调用该函数打印出1000以内的所有水仙花数。水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如: 13+53 +3=153,则153是水仙花数。水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。

def judge():
    list=[]
    for i in range(100,1000):
        i=str(i)
        first=int(i[0])
        second=int(i[1])
        third=int(i[2])
        if int(i)==first**3+second**3+third**3:
            list.append(int(i))
    print(list)
if __name__=="__main__":
    judge()

5.编写函数求斐波拉契数列的前20项。斐波拉契数列的第1项和第2项分别是0和1,从第3项开始,每一项都是前两项之和。如: 0,1,1,2,3,5,8,13,21.试用递归函数实现。

def digui(t):
    if t==1:
        return 0
    elif t==2:
        return 1
    else:
        return (digui(t-1)+digui(t-2))
if __name__=="__main__":
    list1=[]
    for i in range(1,21):
        list1.append(digui(i))
    print(list1)

1.编写程序生成九九乘法表,并将之写入到文本文件exercise7_1.txt中。程序保存为exercise7_1.py.

with open('exercise7_1.txt', 'w') as f:
    sign=0
    for i in range(1,10):
        list1 = []
        for j in range(1,i+1):
            f.write(f'{j}x{i}={j*i}  ')
            sign=sign+1
            if sign==1 or sign==3 or sign==6 or sign==10 or sign==15 or sign ==21 or sign == 28 or sign==36:
                f.write('\n')
    f.close()

2.编写程序,提示用户输人字符中,将所输入的字符串,以及对应字符串的长度写入exercise7_2.txt中,程序保存为exercise7_2.py。

str=input('输入你想输入的字符串:')
with open('exercise7_2.txt', 'w') as f:
    f.write(f'{str}  {len(str)}')
    f.close()

3.创建一个exerise7_3. xIsx文件,在C5单元格写入字符串“ 我喜欢编程”。程序保存为exercise7_3.py。

import xlwt
book=xlwt.Workbook()
sheet=book.add_sheet('sheet1')
sheet.write(3,2,'我喜欢编程')
book.save('exercise7_3.xls')```

你可能感兴趣的:(python,python)