美文网首页
作业003:分支与循环2

作业003:分支与循环2

作者: yydafx | 来源:发表于2019-11-08 21:18 被阅读0次
    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
    age = int(input('请输入年龄:'))
    if age < 0 and age > 150:
        print('别闹')
    elif age < 12:
        print('童年')
    elif age < 18:
        print('骚年')
    elif age < 25:
        print('青年')
    elif age < 50:
        print('壮年')
    else:
        print('得, 老了')
    
    2.计算5的阶乘 5!的结果是
    fac = 1
    for i in range(1, 6):
        fac *= i
    print('5的阶乘是:',fac)
    

    第2题演示

    5的阶乘是: 120
    
    3.求1+2!+3!+...+20!的和。
    fac = 1
    sum1 = 0
    for i in range(1, 21):
        fac *= i
        sum1 += fac
    print('1+2!+3!+...+20!的和:',sum1)
    

    第3题演示

    1+2!+3!+...+20!的和: 2561327494111820313
    
    4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
    sum1 = 0
    fac = 1
    for i in range(1, 21):
        fac *= i
        sum1 += 1/fac
    print('1+1/2!+1/3!+1/4!+...1/20!的值为:', sum1)
    

    第4题演示

    1+1/2!+1/3!+1/4!+...1/20!的值为: 1.7182818284590455
    
    5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
    sum1 = 0
    while True:
        num = int(input('请输入任意整数(输入0结束循环):'))
        if num == 0:
            break
        else:
            sum1 += num
    print('最终结果为:',sum1)
    

    第5题演示:

    请输入任意整数(输入0结束循环):2
    请输入任意整数(输入0结束循环):3
    请输入任意整数(输入0结束循环):4
    请输入任意整数(输入0结束循环):5
    请输入任意整数(输入0结束循环):0
    最终结果为: 14
    
    6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
    a = int(input('请输入需要相加的数字(正整数):'))
    count = int(input('请输入数字需要相加多少次(正整数):'))
    sum1 =  sum2 = x = 0
    for i in range(count):
        x = a * 10 ** i
        sum1 += x
        # print(sum1)
        sum2 += sum1
    print(sum2)
    

    第6题答案

    请输入需要相加的数字(正整数):4
    请输入数字需要相加多少次(正整数):3
    492
    
    7.输入三个整数x,y,z,请把这三个数由小到大输出。
    x = int(input('请输入整数:'))
    y = int(input('请输入整数:'))
    z = int(input('请输入整数:'))
    if x > y:
        x, y = y, x
    if x > z:
        x, z = z, x
    if y > z:
        y, z = z, y
    print(x, '<', y, '<', z)
    

    第7题演示

    请输入整数:3
    请输入整数:5
    请输入整数:4
    3 < 4 < 5
    
    8.控制台输出三角形
    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    #演示:
    num = int(input('请输入正整数:'))
    for i in range(0, num):
        for j in range(i + 1, num + 1):
            print('*', end='')
        print("")
    
    
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    
    # 演示
    num = int(input('请输入奇数的正整数:'))
    for i in range(1, num - 1):
        # 循环控制空格的个数
        for _ in range(num - i):
            print(' ', end='')
        # 循环输出星星
        for _ in range(2 * i - 1):
            print('*', end='')
        print()
    
      9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
    for i in range(1, 10):
        for j in range(1, i + 1):
            print(j, '*', i, '=', i * j, end='   ')
        print()
    

    第9题演示

    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担,问有大,中,小马各几匹?
    '''
    3 * x + 2 * y + z / 2 = 100
    2x + 2y + 2z = 200
    5 * x + 3 * y == 100
    '''
    
    for x in range(100):
        for y in range(100):
            if 5 * x + 3 * y == 100:
                z = 100 - x - y
                print('大马有%d匹,中马有%d匹, 小马有%d匹'% (x, y, z))
    

    第10题演示

    大马有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只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
    '''
    公鸡 5   母鸡 3     雏鸡 1/3
      x         y         z
      x+y+z=100
      15x+9y+z=300
    7*x+4*y=100
    '''
    for x in range(100):
        for y in range(100):
            if 7 * x + 4 * y == 100:
                z = 100 - x - y
                print('公鸡有%d只,母鸡有%d只, 雏鸡有%d只'% (x, y, z))
    

    第11题演示

    公鸡有0只,母鸡有25只, 雏鸡有75只
    公鸡有4只,母鸡有18只, 雏鸡有78只
    公鸡有8只,母鸡有11只, 雏鸡有81只
    公鸡有12只,母鸡有4只, 雏鸡有84只
    
    12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
    '''
    洗发水 15  香皂 2    牙刷  5
      x         y           z 
      15*x + 2*y + 5*z == 100
    '''
    count = 0
    for x in range(1, 8):
        for y in range(1, 51):
            for z in range(1, 21):
                if 15*x + 2*y + 5*z == 100:
                    # print(x,y,z)
                    count += 1
    print('总共有%d种组合方式'%count)
    

    第12题演示

    总共有24种组合方式
    

    相关文章

      网友评论

          本文标题:作业003:分支与循环2

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