美文网首页
Day5作业

Day5作业

作者: 圣咸鱼 | 来源:发表于2018-12-28 18:02 被阅读0次

    基础

    读程序,总结程序的功能:

    numbers=1
    for  i in range(0,20): 
         numbers*=2
    print(numbers)
    

    求2 **20

    summation=0
    num=1
    while num<=100:
        if (num%3==0 or num%7==0) and num%21!=0: 
            summation += 1
        num+=1
    print(summation)
    

    求1-100的能被3或者7整除的且不能被21整除的数的个数

    39

    编程实现(for和while各写一遍):

    1. 求1到100之间所有数的和、平均值
    2. 计算1-100之间能被3整除的数的和
    3. 计算1-100之间不不能被7整除的数的和

    for循环

    num = 0
    for n in range(1, 101):
        num = num + n
    print(num)
    print(num / 100)
    

    while循环

    m = 0
    num1 = 0
    while m < 101:
        num1 += m
        m += 1
    print(num1)
    print(num1 / 100)
    

    for循环

    num2 = 0
    for n in range(1, 101):
        if n % 3 == 0:
            num2 += n
        n += 1
    print(num2)
    

    while循环

    h = 0
    num3 = 0
    while h < 101:
        if h % 3 == 0:
            num3 = num3 + h
        h += 1
    print(num3)
    

    for循环

    num4 = 0
    for n in range(1, 101):
        if n % 7 != 0:
            num4 = num4 + n
        n += 1
    print(num4)
    

    while循环

    j = 0
    num5 = 0
    while j < 101:
        if j % 7 != 0:
            num5 = num5 + j
        j += 1
    print(num5)
    

    稍微困难

    1. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34....
    num = int(input("你需要第几项斐波那契数列?"))
    n1 = 1
    n2 = 1
    count = 2
    if num == 1 or num == 2:
        print(n1)
    else:
        while count < num:
            nth = n1 + n2
            n1 = n2
            n2 = nth
            count += 1
        print(n2)
    
    1. 判断101-200之间有多少个素数,并输出所有素数。判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数
    p = 0
    for n in range(101, 201):
        for m in range(2,n):
            if n % m == 0:
                break
            elif m == (n - 1):
                p = p + 1
                print('%d' % n, end=',')
    print('101-200的素数个数为:%d个' % p)
    
    1. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例例如:153是
    print('水仙花数有:', end='')
    for a in range(1, 10):
        for b in range(0, 10):
            for c in range(0, 10):
                s1 = a * 100+b * 10+c
                s2 = pow(a, 3)+pow(b, 3)+pow(c, 3)
                if s1 == s2:
                    print('%d' % s2,end=',')
    

    一个水仙花数,因为153 = 1^3 + 5^3 + 3^3

    1. 有一分数序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列列的第20个分数分子:上一个分数的分子加分母 分母:上一个分数的分子 fz = 2 fm = 1 fz+fm / fz
    m = 1
    n = 2
    p = 0
    for s in range(0, 20):
        p = n
        m = p
        n = m + n
    print('这个数列列的第20个分数为%d/%d' % (m, n))
    
    1. 给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
    str1 = input('请输入一个数字')
    print('这个数的倒序排列为:')
    print('这是一个%d位数' % len(str1))
    for index in range(-1, -len(str1)-1, -1):
        print(str1[index],end='')
    

    相关文章

      网友评论

          本文标题:Day5作业

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