美文网首页
Day05-作业

Day05-作业

作者: 萌王史莱姆 | 来源:发表于2018-12-28 20:58 被阅读0次

    基础

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

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

    1.求等比数列 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)
    

    2.计算在100以内能够被3和7整除,但不能同时被3和7整除的数出现的次数

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

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

    # for:
    # 变量ave为平均值,变量sum1为和
    sum1 = 0
    ave = 0
    for num in range(1, 101):
        sum1 += num
    ave = sum1 / num
    print('1到100之间所有数的和为:%d' % sum1)
    print('1到100之间所有数的平均值为:%.2f' % ave)
    
    # while:
    # 变量ave为平均值,变量sum1为和
    sum1 = 0
    ave = 0
    num = 1
    while num <= 100:
        sum1 += num
        num += 1
    ave = sum1 / num
    print('1到100之间所有数的和为:%d' % sum1)
    print('1到100之间所有数的平均值为:%.2f' % ave)
    

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

    # for:
    # 变量sum1为和
    sum1 = 0
    for num in range(1, 101):
        if num % 3 == 0:
            sum1 += num
    print('1-100之间能被3整除的数的和为:%d' % sum1)
    
    # while:
    # 变量sum1为和
    sum1 = 0
    num = 1
    while num <= 100:
        if num % 3 == 0:
            sum1 += num
        num += 1
    print('1-100之间能被3整除的数的和为:%d' % sum1)
    

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

    # for:
    # 变量sum1为和
    sum1 = 0
    for num in range(1, 101):
        if num % 7 == 0:
            sum1 += num
    print('1-100之间能被7整除的数的和为:%d' % sum1)
    
    # while:
    # 变量sum1为和
    sum1 = 0
    num = 1
    while num <= 100:
        if num % 7 == 0:
            sum1 += num
        num += 1
    print('1-100之间能被7整除的数的和为:%d' % sum1)
    

    稍微困难

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

    # 输入第n个数
    n = int(input('请输入一个数:'))
    num1 = 1
    num2 = 1
    i = 0
    list1 = []
    while i < n:
        num1 = num1 + num2
        list1.append(num1)
        num2 = num2 + num1
        list1.append(num2)
        i += 1
    print(list1[n - 3])
    

    2.判断101-200之间有多少个素数,并输出所有素数。判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

    count = 0
    for num1 in range(101, 201):
        for num2 in range(2, num1):
            if num1 % num2 == 0:
                break
        else:
            count += 1
            print('%d是素数' % num1)
    print('101-200之间有%d个素数' % count)
    

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

    例如: 153是一个水仙花数,因为153 = 13 + 53 + 3**3

    for num in range(100, 1000):
        a = num // 100
        b = num // 10 % 10
        c = num % 100 % 10
        if num == a**3 + b**3 + c**3:
            print('%d是一个水仙花数' % num)
    

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

    分子:上⼀个分数的分⼦子加分母 分母: 上一个分数的分⼦ fz = 2 fm = 1 fz+fm / fz

    n = int(input('请输入第n个分数:'))
    sum1 = 0
    fz = 2
    fm = 1
    z = 0
    i = 1
    while i <= n:
        sum1 = fz / fm
        z = fz + fm
        fm = fz
        fz = z
        i += 1
    print('第%d个的分数为%f' % (n, sum1))
    

    5.给⼀个正整数,要求:1、求它是⼏位数 2.逆序打印出各位数字

    num = input('请输入一个正整数:')
    print('%s是一个%d位数' % (num, len(num)))
    print('逆序打印出各位数字:', num[::-1])
    

    相关文章

      网友评论

          本文标题:Day05-作业

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