美文网首页
2018-08-24 day05-作业

2018-08-24 day05-作业

作者: 猫爱老鼠丶 | 来源:发表于2018-08-25 15:46 被阅读0次

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)

    age = intinput('请输入年龄:')
    if age >= 60:
        print('老年人')
    elif age >= 30:
        print('青壮年')
    elif age >= 18:
        print('成年人')
    elif age > 12:
        print('未成年')
    else:
        print('儿童')
    
    运行结果:
    请输入年龄:48
    青壮年
    

    2.计算5的阶乘 5!的结果是

    sum = 1
    for x in range(1,6):
        sum *= x
    print('5!的阶乘是%d'%(sum))
    
    运行结果:
    5!的阶乘是120
    

    3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。

    sum1 = 1
    sum2 = 0
    for x in range(1,21):
        for y in range(1,x+1):
            sum1 *= y
        sum2 += sum1
        sum1 = 1
    print('1!+2!+3!+...+22!=%d'sum2)
    
    运行结果:
    1!+2!+3!+...+20!=2561327494111820313
    

    4.计算 1+1/2!+1/3!+1/4!+...1/20!=?

    sum1 = 1
    sum2 = 0
    for x in range(1,21):
        for y in range(1,x+1):
            sum1 *= y
        sum2 += 1/sum1
        sum1 = 1
    print('1+1/2!+1/3!+1/4!+...1/20!=%.16f'%(sum2))
    
    运行结果:
    1+1/2!+1/3!+1/4!+...1/20!=1.7182818284590455
    

    5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

    sum = 0
    while True:
        num = int(input('请输入数字(大于0):'))
        sum += num
        if num == 0:
            break
    print('输入数字的和为%d'%(sum))
    
    运行结果:
    请输入数字(大于0):2
    请输入数字(大于0):4
    请输入数字(大于0):5
    请输入数字(大于0):0
    输入数字的和为11
    

    6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。

    a = int(input('请输入一个数:'))
    n = int(input('请输入相加个数:'))
    sum = b =0
    for i in range(1,n+1):
        b = 0
        for j in range(i):
            b += a*10**j
        print(b)    
        sum += b
    print('相加的和为:%d'%(sum))
    
    运行结果:
    2
    22
    222
    2222
    22222
    222222
    相加的和为:246912
    

    7.输入三个整数x,y,z,请把这三个数由小到大输出。

    x = int(input('请输入第1个整数:'))
    y = int(input('请输入第2个整数:'))
    z = int(input('请输入第3个整数:'))
    list = [x,y,z]
    for i in range(2):
        for j in range(i+1,3):
            if list[i] < list[j]:
                continue
            else:
                list[j],list[i]= list[i],list[j]
    print(list)
    
    运行结果:
    请输入第1个整数:21
    请输入第2个整数:18
    请输入第3个整数:34
    [18, 21, 34]
    

    8.控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    

    a.

    for x in range(n+1):
        print('*'*(n-x))
    
    运行结果:
    请输入数字n:6
    ******
    *****
    ****
    ***
    **
    *
    

    b.

    n = int(input('请输入数字n(n为奇数)'))
    for x in range(n+1):
        if not x % 2:
            continue
        else:
            print(('*'*x).center(20))
    
    运行结果:
    请输入数字n(n为奇数):7
             *
            ***
           *****
          *******   
    
    

    9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。


    九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print('%d*%d=%d'%(j,i,i*j),end = ' ')
        print('')
    
    运行结果:
    1*1=1 
    1*2=2 2*2=4 
    1*3=3 2*3=6 3*3=9 
    1*4=4 2*4=8 3*4=12 4*4=16 
    1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
    1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
    1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
    1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
    1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
    

    10.这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

    for i in range(100):
        for j in range(100):
            for k in range(100):
                if i*3+j*2+k/2 == 100 and  i + j + k ==100:
                    print('大马%d只,中马%d只,小马%d只'%(i,j,k)) 
    
    运行结果:
    大马2只,中马30只,小马68只
    大马5只,中马25只,小马70只
    大马8只,中马20只,小马72只
    大马11只,中马15只,小马74只
    大马14只,中马10只,小马76只
    大马17只,中马5只,小马78只
    大马20只,中马0只,小马80只
    

    11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

    for i in range(100):
        for j in range(100):
            for k in range(100):
                if i*5+j*3+k/3 == 100 and i+j+k == 100:
                    print('公鸡%d只,母鸡%d只,雏鸡%d只'%(i,j,k)) 
    
    运行结果:
    公鸡0只,母鸡25只,雏鸡75只
    公鸡4只,母鸡18只,雏鸡78只
    公鸡8只,母鸡11只,雏鸡81只
    公鸡12只,母鸡4只,雏鸡84只
    

    12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

    for i in range(8):
        for j in range(51):
            for k in range(21):
                if i*15+j*2+k*5 == 100:
                    print('洗发水%d瓶,香皂%d个,牙刷%d只'%(i,j,k))
    
    运行结果:
    洗发水0瓶,香皂0个,牙刷20只
    洗发水0瓶,香皂5个,牙刷18只
    洗发水0瓶,香皂10个,牙刷16只
    洗发水0瓶,香皂15个,牙刷14只
    洗发水0瓶,香皂20个,牙刷12只
    洗发水0瓶,香皂25个,牙刷10只
    洗发水0瓶,香皂30个,牙刷8只
    洗发水0瓶,香皂35个,牙刷6只
    洗发水0瓶,香皂40个,牙刷4只
    洗发水0瓶,香皂45个,牙刷2只
    洗发水0瓶,香皂50个,牙刷0只
    洗发水1瓶,香皂0个,牙刷17只
    洗发水1瓶,香皂5个,牙刷15只
    洗发水1瓶,香皂10个,牙刷13只
    洗发水1瓶,香皂15个,牙刷11只
    洗发水1瓶,香皂20个,牙刷9只
    洗发水1瓶,香皂25个,牙刷7只
    洗发水1瓶,香皂30个,牙刷5只
    洗发水1瓶,香皂35个,牙刷3只
    洗发水1瓶,香皂40个,牙刷1只
    洗发水2瓶,香皂0个,牙刷14只
    洗发水2瓶,香皂5个,牙刷12只
    洗发水2瓶,香皂10个,牙刷10只
    洗发水2瓶,香皂15个,牙刷8只
    洗发水2瓶,香皂20个,牙刷6只
    洗发水2瓶,香皂25个,牙刷4只
    洗发水2瓶,香皂30个,牙刷2只
    洗发水2瓶,香皂35个,牙刷0只
    洗发水3瓶,香皂0个,牙刷11只
    洗发水3瓶,香皂5个,牙刷9只
    洗发水3瓶,香皂10个,牙刷7只
    洗发水3瓶,香皂15个,牙刷5只
    洗发水3瓶,香皂20个,牙刷3只
    洗发水3瓶,香皂25个,牙刷1只
    洗发水4瓶,香皂0个,牙刷8只
    洗发水4瓶,香皂5个,牙刷6只
    洗发水4瓶,香皂10个,牙刷4只
    洗发水4瓶,香皂15个,牙刷2只
    洗发水4瓶,香皂20个,牙刷0只
    洗发水5瓶,香皂0个,牙刷5只
    洗发水5瓶,香皂5个,牙刷3只
    洗发水5瓶,香皂10个,牙刷1只
    洗发水6瓶,香皂0个,牙刷2只
    洗发水6瓶,香皂5个,牙刷0只
    

    相关文章

      网友评论

          本文标题:2018-08-24 day05-作业

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