美文网首页
Day5-Python-作业-2018/12/28

Day5-Python-作业-2018/12/28

作者: PIECE_MAN | 来源:发表于2018-12-28 20:57 被阅读0次

    读程序,总结程序的功能

    1.

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

    求 2 的 20 次方

    2.

    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 整除的数的个数

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

    3.1 求 1 到 100 之间所有数的和、平均值

    for:

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

    while:

    sum = 0
    num = 1
    while num <= 100:
        sum += num
        num += 1
    print(sum,sum/100)
    

    3.2 计算 1-100 之间能被 3 整除的数的和

    for:

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

    while

    sum = 0
    num = 1
    while num <= 100:
        if num % 3 == 0:
            sum += num
        num += 1
    print(sum)
    

    3.3 计算 1-100 之间不能被 7 整除的数的和

    for:

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

    while:

    sum = 0
    num = 1
    while num <= 100:
        if num % 7 != 0:
            sum += num
        num += 1
    print(sum)
    

    求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34....

    num = int(input('请输入n:'))
    num0 = 0
    num1 = 1
    num2 = 1
    if num == 1 or num == 2:
        print(1)
    else:
        while num0 < num-2: # num0 即执行了几次循环,因为执行 num0 次就会得到第 num0+2 个数
            num3 = num1 + num2
            num1 = num2
            num2 = num3
            num0 += 1
        print('第%d个数是:%d' % (num,num3))
    

    判断101-200之间有多少个素数,并输出所有素数。

    判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数

    for num in range(101,201):
        count = 0
        for x in range(2,num):
            if num % x == 0:
                count += 1
                break # break 比 continue 更节省资源
        if count == 0: # num / 所有x 后,count 还是0 ,即为素数
            print('%d是素数' % (num))
    

    2.3 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

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

    for num in range(100,1000):
        num0 = num // 100 # 获取百位
        num1 = num // 10 % 10 # 获取十位
        num2 = num % 10 # 获取个位
        if num == num0**3 + num1**3 + num2**3:
            print('水仙数:%d' % (num))
    

    2.4 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数

    分子:上一个数的分子加分母 分母:上一个数的分子

    fz = 2
    fm = 1
    num = 0
    n = int(input('请输入n:'))
    while num < n-1: # num 即 执行了几次循环体 ,因为执行一次即第二个数,那么求第n个数就该执行n-1次
        fz = fz + fm
        fm = fz -fm
        num += 1
    print('第%d个数是:%d/%d' % (n,fz,fm))
    

    2.5 给一个正整数,要求:1.求它是几位数 2.逆序打印出各位数字

    num = input('请输入正整数:')
    length = len(num)
    str1 = str(num)
    new_str = str1[::-1]
    # 字符串倒序 还可以通过遍历倒序
    # for x in str1(-1,-length,-1)
    print('它是%d位数' % (length),int(new_str))
    

    相关文章

      网友评论

          本文标题:Day5-Python-作业-2018/12/28

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