美文网首页
Day04-课后作业

Day04-课后作业

作者: zxhlcl | 来源:发表于2018-09-29 21:14 被阅读0次

    比较简单

    1. 求1到100之间所有数的和、平均值
    sum=0
    average=0
    for x in range(1,100):
        sum+=x
        average=sum/100
    print(sum,average)  #4950 49.5
    
    1. 计算1-100之间能3整除的数的和
    sum=0
    for x in range(1,100):
        if x % 3 ==0:
            sum+=x
    print(sum) #1683
    
    
    1. 计算1-100之间 能被7整除的数的和
    sum=0
    for x in range(1,100):
        if x % 7 ==0:
            sum+=x
    print(sum)  #735
    
    

    稍微困难:

    1. 求斐波那契数 中第n个数的值:1,1,2,3,5,8,13,21,34....
      方法一:函数嵌套
    def fibo(n):
        if n==1 or n==2: 
            return 1
        else:
            return fibo(n-1)+fibo(n-2)
    print(fibo(7)) #13
    

    方法二:循环

    n=7
    if n==1 or n==2:fibo=1
    fibo1=1;fibo2=1
    for x in range(3,n+1):
        fibo=fibo1+fibo2
        temp=fibo2
        fibo2=fibo
        fibo1=temp
    print(fibo) #13
    
    1. 判断101-200之间有多少个素数,并输出所有素数。判断素数的 法: 个数分别除2到sqrt(这个数),如果能被整除,则表明此数 是素数,反之是素数
    sushu=[]
    for x in range(101,200):
        for i in range(2,x):
            if x % i ==0:break
        else:
            sushu.append(x) 
    print(len(sushu),sushu)
    #21 [101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199] 
    
    1. 打印出所有的 仙花数,所谓 仙花数是指 个三位数,其各位数字 和等于该数本身。 如:153是个 仙花数,因为153 = 1^3 + 5^3 + 3^3
    for x in range(100,1000):
        x=str(x)
        if int(x)==sum(map(lambda y:y**3,map(int,x))):print(x)
    #153 370 371 407
    
    1. 有 分数序 :2/1,3/2,5/3,8/5,13/8,21/13...求出这个数 的第20个分数
      分 :上 个分数的分 加分 分 : 上 个分数的分 fz = 2 fm = 1 fz+fm / fz
    n=20
    num1=2;num2=1
    for x in range(1,n):
        temp=num1
        num1=num1+num2
        num2=temp
    print(str(num1)+'/'+str(num2))  #17711/10946
    
    1. 给 个正整数,要求:1、求它是 位数 2.逆序打印出各位数字
    num=123456
    print(len(str(num)),str(num)[::-1])
    

    相关文章

      网友评论

          本文标题:Day04-课后作业

          本文链接:https://www.haomeiwen.com/subject/oliboftx.html