美文网首页
day5作业

day5作业

作者: liuperson | 来源:发表于2018-08-24 21:26 被阅读0次

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

    while True:
        age=int(input('请输入年龄:'))
        if 0<=age<=10:
            print('儿童')
        elif 10<age<=18:
            print('未成年')
        elif 18<age<=30:
            print('青壮年')
        elif 30<age<=60:
            print('成年人')
        else:
            print('老年人')
    
    结果:
    请输入年龄:2
    儿童
    请输入年龄:15
    未成年
    请输入年龄:22
    青壮年
    请输入年龄:35
    成年人
    

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

    um=1
    for x in range(1,6):
        sum*=x
    print('5!结果是:%d'%sum)
    
    结果:
    5!结果是:120
    

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

    num=0
    sum=1
    for x in range(1,21):
        sum*=x
        num+=sum
    print('20!累加结果是:%d'%num)
    
    结果:
    20!累加结果是:2561327494111820313
    

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

    num=0
    sum=1
    for x in range(1,21):
        sum*=x**(-1)
        num+=sum
    print('结果是:%s'%num)
    
    结果:
    结果是:1.7182818284590455
    

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

    sum=0
    while True:
        n=int(input('输入数字:'))
        if n>0:
            sum+=n
        elif n<0:
            print('请输入正整数:')
        else:
            break
    print('和:%s'%sum)
    
    结果:
    输入数字:5
    输入数字:2
    输入数字:3
    输入数字:0
    和:10
    

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

    while True:
        num=0
        sum=0
        m=int(input('输入数字:'))
        n=int(input('输入次数: '))
        for x in range(0,n):
            num=m*(10**x)+num
            sum+=num
            print(num)
        print('和:%d'%sum)
    结果:
    输入数字:2
    输入次数: 3
    2
    22
    222
    和:246
    

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

    list=[]
    x=int(input('数字:'))
    list.append(x)
    y=int(input('数字:'))
    list.append(y)
    z=int(input('数字:'))
    list.append(z)
    list.sort()
    for m in list:
        print(m)
    
    结果:
    数字:21
    数字:43
    数字:7
    7
    21
    43
    

    8.控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    a.
    n=int(input('输入值:'))
    for x in range(1,n+1):
        print('*'*(n+1-x))
    输入值:5
    *****
    ****
    ***
    **
    *
    
    b.
    while True:
        n=int(input('多少排:'))
        for x in range(1,n+1):
            m='*'*(2*x-1)
            print(m.center(2*n,' '))
    结果:
    多少排:3
      *   
     ***  
    ***** 
    多少排:5
        *     
       ***    
      *****   
     *******  
    ********* 
    

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

    for i in range(1,10):
        print()
        for j in range(1,i+1):
            print('%dx%d=%d'%(j,i,j*i),end=' ')
    结果:
    1x1=1 
    1x2=2 2x2=4 
    1x3=3 2x3=6 3x3=9 
    1x4=4 2x4=8 3x4=12 4x4=16 
    1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
    1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
    1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
    1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
    1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 
    

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

    big=0;mid=0;sma=0
    for x in range(1,101):
        big=x
        for y in range(1,101):
            mid=y
            for z in range(1,101):
                sma=z
                if big+mid+sma==100 and big*3+mid*2+sma*(0.5)==100:
                    print('大马:%d 中马:%d 小马:%d'%(big,mid,sma))
    结果:
    大马:2 中马:30 小马:68
    大马:5 中马:25 小马:70
    大马:8 中马:20 小马:72
    大马:11 中马:15 小马:74
    大马:14 中马:10 小马:76
    大马:17 中马:5 小马:78
    

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

    big=0;mid=0;sma=0
    for x in range(1,101):
        big=x
        for y in range(1,101):
            mid=y
            for z in range(1,101):
                sma=z
                if big+mid+sma==100 and big*5+mid*3+sma*(1/3)==100:
                    print('公鸡:%d 母鸡:%d 雏鸡:%d'%(big,mid,sma))
    结果:
    公鸡:4 母鸡:18 雏鸡:78
    公鸡:8 母鸡:11 雏鸡:81
    公鸡:12 母鸡:4 雏鸡:84
    

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

    big=0;mid=0;sma=0
    for x in range(1,101):
        big=x
        for y in range(1,101):
            mid=y
            for z in range(1,101):
                sma=z
                if big*15+mid*5+sma*2==100:
                    print('洗发水:%d 牙刷:%d 香皂:%d'%(big,mid,sma))
    结果:
    洗发水:1 牙刷:1 香皂:40
    洗发水:1 牙刷:3 香皂:35
    洗发水:1 牙刷:5 香皂:30
    洗发水:1 牙刷:7 香皂:25
    洗发水:1 牙刷:9 香皂:20
    洗发水:1 牙刷:11 香皂:15
    洗发水:1 牙刷:13 香皂:10
    洗发水:1 牙刷:15 香皂:5
    洗发水:2 牙刷:2 香皂:30
    洗发水:2 牙刷:4 香皂:25
    洗发水:2 牙刷:6 香皂:20
    洗发水:2 牙刷:8 香皂:15
    洗发水:2 牙刷:10 香皂:10
    洗发水:2 牙刷:12 香皂:5
    洗发水:3 牙刷:1 香皂:25
    洗发水:3 牙刷:3 香皂:20
    洗发水:3 牙刷:5 香皂:15
    洗发水:3 牙刷:7 香皂:10
    洗发水:3 牙刷:9 香皂:5
    洗发水:4 牙刷:2 香皂:15
    洗发水:4 牙刷:4 香皂:10
    洗发水:4 牙刷:6 香皂:5
    洗发水:5 牙刷:1 香皂:10
    洗发水:5 牙刷:3 香皂:5
    

    相关文章

      网友评论

          本文标题:day5作业

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