美文网首页
循环作业

循环作业

作者: 蘑菇plus | 来源:发表于2018-07-19 20:58 被阅读0次
    1. 求1到100之间所有数的和、平均值
      for循环
    sum=0
    for i in range(1,101):
        sum+=i 
    sum1=sum/2
    print(sum1)
    结果:2525.0
    

    while循环

    sum=0
    i=1
    while i <=100:
        sum+=i 
        i+=1
    sum1=sum/2
    print(sum1) 
    结果:2525.0
    
    1. 计算1-100之间能3整除的数的和
      for循环
    sum=0
    for i in range(1,101):
        if i%3==0:
            sum+=i
    print(sum)
    结果:1683
    

    while循环

    sum=0
    i=1
    while i<=100:
        if i%3==0:
            sum+=i
        i+=1
    print(sum)
    
    1. 计算1-100之间不能被7整除的数的和
      for循环
    sum=0
    for  i in range(1,101):
        if not i%7==0:
            sum+=i
    print(sum)
    结果:4315
    

    while循环

    sum=0
    i=1
    while  i<=100:
        if not i%7==0:
            sum+=i
        i+=1
    print(sum)
    结果:4315
    
    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=7
    pre_1=1
    pre_2=1
    current=0
    for x in range(1,n+1):
        if x==1 or x==2:
            current=1
            continue
        current=pre_1+pre_2
        pre_1,pre_2=pre_2,current
    print('第%d个数是%d'%(n,current))
        结果:第7个数是13
    

    5.打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3

    i=100
    while i>=100 and i<1000:
        a=(i%10)**3
        b=(i//10%10)**3
        c=(i//100)**3
        if a+b+c==i:
            print(i)
        i+=1
    结果:
    153
    370
    371
    407
    

    6.有一分数序列: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

    fz=2
    fm=1
    for i in range(1,21):
        if i == 1:
            print('%d/%d' % (fz, fm))
            continue
        fz,fm=fz+fm,fz
        print('%d/%d'%(fz,fm))
    结果:2/1
    3/2
    5/3
    8/5
    13/8
    21/13
    34/21
    55/34
    89/55
    144/89
    233/144
    377/233
    610/377
    987/610
    1597/987
    2584/1597
    4181/2584
    6765/4181
    10946/6765
    17711/10946
    

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

    import random
    number=random.randint(0,100000)
    number1=str(number)
    print(number1)
    print(len(number1))
    print(number1[::-1])
    结果:26894
    5
    49862
    

    8.判断101-到200之间有多少个素数,并输出

    for number in range(101,201):
        count=0
        for x in range(2,number):
            if number % x == 0:
                count+=1
                break
        if count==0:
            print('%d是素数'%number)
    结果:151是素数
    157是素数
    163是素数
    167是素数
    

    相关文章

      网友评论

          本文标题:循环作业

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