美文网首页
Python-day-04作业

Python-day-04作业

作者: sawyerwh | 来源:发表于2018-07-19 21:02 被阅读0次

    1、用代码实现2^20。

    num1=1
    for _ in range(0,20):
        num1 *=2
    print(num1)
    

    2、统计1-100中能被3或者7整除,但是不能被21整除的数的个数。

    num1 = 1
    sum1 = 0
    while num1 <=100:
        if (num1 %3 == 0 or num1 % 7 ==0) and num1 % 21 != 0:
            sum1 += 1
        num1 += 1
    print(sum1)
    
    num1 = 1
    sum1 = 0
    for num1 in range(1,101):
        if (num1 % 3 ==0 or num1 % 7 ==0) and num1 % 21 !=0:
            sum1 += 1
    print(sum1)
    

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

    sum1=0
    for x in range(1,101):
        sum1 += x
    print('和:%d , 平均值:%.2f'%(sum1,sum1/100))
    
    num1 = 1
    sum1 = 0
    while num1 <= 100:
        sum1 += num1
        num1 += 1
    print('和:%d , 平均值:%.2f'%(sum1,sum1/100))
    
    

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

    sum1 = 0
    for x in range(1,101):
        if x % 3 == 0:
            sum1 += x
    print('和:%d' % sum1)
    
    num=1
    sum1=0
    while num<=100:
        if num%3==0:
            sum1+=num
        num+=1
    print('和:%d' % sum1)
    

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

    sum1 = 0
    for x in range(1,101):
        if x % 7:
            sum1 += x
    print('和:%d'%sum1)
    
    num=1
    sum1=0
    while num<=100:
        if num%7:
            sum1+=num
        num+=1
    print('和:%d'%sum1)
    
    1. 有.一对兔.子,从出.生后第3个.月起,每个.月都.生.一对兔.子,.小兔.子.长到第三个.月后每个.月.又.生.一对兔
      .子,假如兔.子都不不死,问第n个.月的兔.子总共有多少? 规律律: 第.一个.月和第.二个.月的数量量都是1 从第三个
      .月开始 n =( n-1) + (n-2) 1,1,2,3,5,8,13,21...n? 1 1 2 1 3 2 = 1+1 4 3 = 1+2 5 5 = 2+3 6 8 = 3+5 n 第(n-
      1)+第(n-2) n = n1 + n2 n==3 n1=1,n2=1 n=n1+n2=2 n==4 n1 = n2 n2 = n n = n1+n2
    n = 3
    pre_1 = 1  # 当前数字的前一个数
    pre_2 = 1  # 当前数的前二个数
    current = 0  # 当前这个数
    # x代码的是当前是第几个数
    for x in range(1, n+1):
        if x == 1 or x == 2:
            current = 1
            # print(1)
            continue
        # 根据前两个数的和计算当前这个数
        current = pre_1 + pre_2
        # print(current)
        # 更新前一个和前两个的值
        pre_1, pre_2 = pre_2, current
    
    print('第%d个数是%d' % (n, current))
    
    1. 判断101-200之间有多少个素数,并输出所有素数。判断素数的.方法:.用.一个数分别除2到sqrt(这个
      数),如果能被整除,则表明此数不不是素数,反之是素数
    for number in range(101, 201):
        count = 0
        # 判断取出来的number的值是否是素数
        for x in range(2, number):
            if number % x == 0:
                count += 1
                # print('%d不是素数'% number)
                # 只要在2~number-1之间有一个能够被number整除,那个这个number就确定不是素数
                break  # 循环嵌套的时候,遇到break和continue结束的是包含的最近的那个循环
    
    
    1. 打印出所有的.水仙花数,所谓.水仙花数是指.一个三位数,其各位数字.立.方和等于该数本身。例例如:153是
      .一个.水仙花数,因为153 = 1^3 + 5^3 + 3^3
    for x in range(100,1000):
        # 个位
        ge_wei = x % 10
        # 十位
        shi_wei = x // 10 % 10
        # 百位
        bai_wei = x // 100
        if x == ge_wei**3 + shi_wei**3 + bai_wei**3:
            print('%d是水仙数' % x)
    
    1. 有.一分数序列列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列列的第20个分数
      1 2 1 2 3 2 3 5 3 4 8 5 分.子:上.一个分数的分.子加分.母 分.母: 上.一个分数的分.子 fz = 2 fm = 1 fz+fm / fz
    fen_zi = 2
    fen_mu = 1
    for x in range(1, 21):
        if x == 1:
            # print('%d/%d' % (fen_zi, fen_mu))
            continue
        fen_zi,fen_mu = fen_zi + fen_mu, fen_zi
    print('%d/%d' % (fen_zi, fen_mu))
    
    
    
    1. 给.一个正整数,要求:1、求它是.几位数 2.逆序打印出各位数字
      基础
      稍微困难
    number = 12657887
    str1 = str(number)
    print(len(str1))
    print(str1[::-1])
    
    

    相关文章

      网友评论

          本文标题:Python-day-04作业

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