美文网首页
Day-05 练习

Day-05 练习

作者: 水果坚果燕麦片 | 来源:发表于2018-12-27 16:37 被阅读0次

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

    age = int(input('输入一个年龄'))
    if age < 5:
        print('儿童')
    elif 5 <= age < 18:
        print('未成年')
    elif 18 <= age < 25:
        print('成年人')
    elif 25 <= age < 40:
        print('青壮年')
    elif age >= 40:
        print('老年人')
    

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

    num = int(input('输入一个数字,计算其阶乘'))
    for x in range(1,num+1):
        result = result * x
    else:
        print(result)
    结果如下:
    输入一个数字,计算其阶乘5
    120
    

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

    num = 20
    result1 = 1
    result2 = 0
    for x in range(1,num+1):
        result1 = result1 * x
        result2 += result1
    else:
        print(result2)
    结果如下:
    2561327494111820313
    

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

    num = 20
    result1 = 1
    result2 = 0
    for x in range(1,num+1):
        result1 = result1 * (1/x)
        result2 += result1
    else:
        print(result2)
    结果如下:
    1.7182818284590455
    

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

    num =int(input())
    i = 0
    while num != 0 :
        i += num
        num =int(input())
    else:
        print(‘结果为’,i)
    结果如下:
    1
    2
    3
    0
    结果为6
    

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

    a = int(input('输入一个数字'))
    b = int(input('输入相加的个数'))
    result1 = 0
    result2 = 0
    for x in range(0,b):
        c = a * 10**x
        result1 += c #各项的值
        result2 += result1
    else:
        print(result2)
    结果如下:
    输入一个数字2
    输入相加的个数5
    24690
    

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

    num1 = int(input('输入数字1'))
    num2 = int(input('输入数字2'))
    num3 = int(input('输入数字3'))
    max = num1
    temp = 0
    if num1 < num2:
        min = num1
        temp =num2
    elif num1 > num2:
        min = num2
        temp = num1
    if num3 < min :
        print(num3,min,temp)
    elif num3 > min and num3 > temp:
        print(min,temp,num3)
    elif num3 > min and num3 < temp:
        print(min,num3,temp)
    

    8.控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    
    n = input()
    for x in range(0,n):
        for y in range(0,n):
            print('*',end='')
        print('\n')
        a += 
    
    n = int(input())
    times = int((n+1)/2)
    lenth = int(2*n - 1)
    for x in range(0,times):
        for y in range(0,times - x + 1):
            print(' ',end='')
        for z in range(0,2 * x + 1):
            print('*',end='')
        print('\n')
    结果如下:
    7
         *
    
        ***
    
       *****
    
      *******
    

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

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

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

    for large in range(0,100):
        if large * 3 <= 100:
            for medium in range(0,100):
                if medium * 2 <= 100:
                    for small in range(0,100):
                         if small * 0.5 < 100 and small % 2 ==0 :
                            if large + medium + small == 100 and large * 3 + medium * 2 + small * 0.5 ==100 :
                                 print("大马有%d匹,中马有%d匹,小马有%d匹" %(large,medium,small))
    结果如下:
    大马有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只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

    max_cock=int(100/5);max_hen=int(100/3);max_chicken=int(100*3)  #公鸡,母鸡,雏鸡可以购买的最大只数
    for cock in range(0,max_cock+1):
        for hen in range(0,max_hen+1):
            for chicken in range(0,max_chicken):
                if cock + hen + chicken == 100 and cock*5 + hen*3 + chicken / 3 == 100 and chicken % 3 == 0:
                    print('公鸡有%d只,母鸡有%d只,雏鸡有%d只' %(cock,hen,chicken))
    结果如下:
    公鸡有0只,母鸡有25只,雏鸡有75只
    公鸡有4只,母鸡有18只,雏鸡有78只
    公鸡有8只,母鸡有11只,雏鸡有81只
    公鸡有12只,母鸡有4只,雏鸡有84只
    

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

    max_shampoo = int(100/15);max_soap = int(100/2);max_toothbrush = int(100/5) #牙刷,香皂,洗发液最大购买量
    for shampoo in range(1,max_shampoo+1):
        for soap in range(1,max_soap+1):
            for toothbrush in range(1,max_toothbrush+1):
                if shampoo * 15 + soap * 2 + toothbrush * 5 == 100 :
                    print('购买洗发水%d件,香皂%d件,牙刷%d件可以把100元整好花掉' %(shampoo,soap,toothbrush))
    结果如下:
    购买洗发水1件,香皂5件,牙刷15件可以把100元整好花掉
    购买洗发水1件,香皂10件,牙刷13件可以把100元整好花掉
    购买洗发水1件,香皂15件,牙刷11件可以把100元整好花掉
    购买洗发水1件,香皂20件,牙刷9件可以把100元整好花掉
    购买洗发水1件,香皂25件,牙刷7件可以把100元整好花掉
    购买洗发水1件,香皂30件,牙刷5件可以把100元整好花掉
    购买洗发水1件,香皂35件,牙刷3件可以把100元整好花掉
    购买洗发水1件,香皂40件,牙刷1件可以把100元整好花掉
    购买洗发水2件,香皂5件,牙刷12件可以把100元整好花掉
    购买洗发水2件,香皂10件,牙刷10件可以把100元整好花掉
    购买洗发水2件,香皂15件,牙刷8件可以把100元整好花掉
    购买洗发水2件,香皂20件,牙刷6件可以把100元整好花掉
    购买洗发水2件,香皂25件,牙刷4件可以把100元整好花掉
    购买洗发水2件,香皂30件,牙刷2件可以把100元整好花掉
    购买洗发水3件,香皂5件,牙刷9件可以把100元整好花掉
    购买洗发水3件,香皂10件,牙刷7件可以把100元整好花掉
    购买洗发水3件,香皂15件,牙刷5件可以把100元整好花掉
    购买洗发水3件,香皂20件,牙刷3件可以把100元整好花掉
    购买洗发水3件,香皂25件,牙刷1件可以把100元整好花掉
    购买洗发水4件,香皂5件,牙刷6件可以把100元整好花掉
    购买洗发水4件,香皂10件,牙刷4件可以把100元整好花掉
    购买洗发水4件,香皂15件,牙刷2件可以把100元整好花掉
    购买洗发水5件,香皂5件,牙刷3件可以把100元整好花掉
    购买洗发水5件,香皂10件,牙刷1件可以把100元整好花掉
    

    相关文章

      网友评论

          本文标题:Day-05 练习

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