Day005_作业

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

  • age = int(input('请输入年纪: '))
    
    if age >= 60:
        print('老年人')
    
    elif age >=30:
        print('青壮年')
    elif age >= 18:
        print('成年人')
    elif age >= 12:
        print('未成年')
    
    else: 
        print('儿童')
    

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

  • y = 1
    for x in range (1,6):
        y *= x
    print(y)
    

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

  • y = 1
    z = 0
    for x in range(1,21):
      y *= x
      z += y
    
    print('和:%d' % (z))
    

和:2561327494111820313

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

  • y = 1
    z = 0
    n = 0
    
    for x in range(1,21):
        y *= x
        z = 1/y
        n += z
    print(n)  
    

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

  • y = 0
    while True:
        x = int(input("请输入一个大于0的数字: "))
        if x > 0:
            y += x
        else:
            if x == 0:
                break
    print('结果:%s'% (y))
    

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

  •   y = int(input('请输入需要计算的值: '))
    z = int(input('请输入循环的次数: '))
    n = 0
    d = 0
    f = 0
    g = 0
    h = 0
    for x in range(z): 
       n = 10**x
       d += n
       f = y* n
       g += f
       h += g
    print(h)
    

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

  • x = int(input('请输入x: '))
    y = int(input('请输入y: '))
    z = int(input('请输入z: '))
    
    p0 = 0
    p1 = 0
    p2 = 0
    
    for i in (x,y):
        for o in (y,z):
                p0 = (i>o)
                p1 += p0
        break
    
    if p1 >= 2:
        print(z,y,x)
    

8.1根据n的值的不同,输出相应的形状


Day005_作业_第1张图片
8.1
  • n0 = int(input('请输入一个数字: '))
    
    while True:
        print( '*' * n0 )
        n0 -= 1
    
        if n0 == 0:
                break
    

8.2根据n的值的不同,输出相应的形状(n为奇数)


Day005_作业_第2张图片
8.2
  • n = int(input('输入一个数字'))
    str = ''
    for i in range(1,n+1):
         if i % 2 == 0:
            continue
    
         str = '*'*i
         print(str.center(n))
    
Day005_作业_第3张图片
9
  • i = int(input('请输入行数: '))
    j = int(input('请输入列数: '))
    
    for x1 in range(1,i+1):
        for x2 in range(1,x1+1):
    
            print(x2,'*',x1,'=',x1*x2,end=' ')
        print()
    

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

  • for h1 in range(0,33):
        for h2 in range (0,50):
            for h3 in range (0,100):
                if h1 + h2 + h3 == 100 and 3*h1 + 2*h2+0.5*h3==100:
                    print(h1,h2,h3)
    

2 30 68
5 25 70
8 20 72
11 15 74
17 5 78
20 0 80

11.5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。
现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现

  • for h1 in range(0,20):
        for h2 in range (0,33):
            for h3 in range (0,300):
                if h1 + h2 + h3 == 100 and 5*h1 + 3*h2+ 1/3*h3==100:
                    print(h1,h2,h3)
    

0 25 75
4 18 78
8 11 81
12 4 84

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

  • for h1 in range(0,5):
        for h2 in range(0,24):
            for h3 in range(0,49):
                if 15*h1 + 5*h2 + 2*h3 ==100:
                    print(h1,h2,h3)
    

0 2 45
0 4 40
0 6 35
0 8 30
0 10 25
0 12 20
0 14 15
0 16 10
0 18 5
0 20 0
1 1 40
1 3 35
1 5 30
1 7 25
1 9 20
1 11 15
1 13 10
1 15 5
1 17 0
2 0 35
2 2 30
2 4 25
2 6 20
2 8 15
2 10 10
2 12 5
2 14 0
3 1 25
3 3 20
3 5 15
3 7 10
3 9 5
3 11 0
4 0 20
4 2 15
4 4 10
4 6 5
4 8 0

你可能感兴趣的:(Day005_作业)