美文网首页
2018-08-24 day5 and homework

2018-08-24 day5 and homework

作者: rzlong | 来源:发表于2018-08-25 00:23 被阅读0次

    1.print输出

    • 打印完内容,默认换行
    • 可以同时打印多个内容,内容见逗号隔开,效果为空格隔开
    • print(内容, end=' ') end表示行结束后样式,默认换行
    print('abc',end=' ')
    print('genius')
    
    结果:
    abc genius
    
    • print(内容1,内容2...,sep=' ')sep表示多个内容间的样式,默认空格
    print('abc','ABC','genius',sep=' * ')
    
    结果:
    abc * ABC * genius
    

    homework

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)
    age = int(input('请输入年龄:'))
    if age >= 60:
        print('老年人')
    elif age >= 35:
        print('青壮年')
    elif age >= 18:
        print('成年人')
    elif age >= 12:
        print('未成年')
    elif age >= 0:
        print('儿童')
    else:
        pass
    
    结果:
    请输入年龄:60
    老年人
    
    请输入年龄:24
    成年人
    
    请输入年龄:2
    儿童
    
    2.计算5的阶乘 5!的结果是
    number = int(input('输入需要阶乘的数字:'))
    value = 1
    for n in range(1,number+1):
        value *= n
    else:
        print('%d 的阶乘值:%d' % (number,value))
    
    result:
    输入需要阶乘的数字:5
    5 的阶乘值:120
    
    3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。
    number = int(input('输入要计算的阶乘再求和的数字:'))
    sum1 = 0
    for num in range(1,number+1):
        value = 1
        for n in range(1,num+1):
            value *= n
        sum1 += value
    print('含%d 以内的所有数字的阶乘再求和的值: %d' % (number,sum1))
    
    result:
    输入要计算的阶乘再求和的数字:20
    含20 以内的所有数字的阶乘再求和的值: 2561327494111820313
    
    4.计算 1+1/2!+1/3!+1/4!+...1/20!=?
    number = int(input('输入要计算的阶乘再求和的数字:'))
    sum1 = 0
    for num in range(1,number+1):
        value = 1
        for n in range(1,num+1):
            value *= n
        sum1 += (1/value)
    print('含%d以内的所有数字的阶乘倒数再求和的值: %.6f' % (number,sum1))
    
    result:
    输入要计算的阶乘再求和的数字:20
    含20以内的所有数字的阶乘倒数再求和的值: 1.718282
    
    5.循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
    print('输入数字累加运算,输入0结束.')
    sum1 = 0
    while True:
        number = int(input('输入数字: '))
        sum1 += number
        if not number:
            break
    print('累加的和:%d' % sum1)
    
    result:
    输入数字累加运算,输入0结束.
    输入数字: 1
    输入数字: 2
    输入数字: 3
    输入数字: 4
    输入数字: 5
    输入数字: 0
    累加的和:15
    
    6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。
    number = input('输入要计算的整数:')
    length = int(input('输入相加数字的数量:'))
    sum1 = 0
    for n in range(1,length+1):
        sum1 += int(number*n)
    print('由 %s 组成的 %d 个数相加的和: %d' % (number,length,sum1))
    
    result:
    输入要计算的整数:2
    输入相加数字的数量:5
    由 2 组成的 5 个数相加的和: 24690
    
    7.输入三个整数x,y,z,请把这三个数由小到大输出。
    number1 = int(input('第一个整数:'))
    number2 = int(input('第二个整数:'))
    number3 = int(input('第三个整数:'))
    number_list = [number1,number2,number3]
    number_list.sort() #会对原列表进行排序 reverse可以改变排序方式;但是list.sort()本身返回None
    print('由小到大排序: %s' % number_list)
    
    result:
    第一个整数:423
    第二个整数:23
    第三个整数:3
    由小到大排序: [3, 23, 423]
    
    8.控制台输出三角形(直三角和正三角)
    #直三角
    number = input('构成直角三角形的行数:')
    for n in range(1,int(number)+1):
        print('*'*(int(number)-n+1))
    
    result:
    构成直角三角形的行数:5
    *****
    ****
    ***
    **
    *
    
    #正三角
    number = int(input('构成正三角形的最多的字符数:')) #7
    for n in range(1,int((number+1)/2+1)):
        print(' '*int((number+1)/2-n),'*'*(2*n-1))
    
    result:
    构成正三角形的最多的字符数:7
        *
       ***
      *****
     *******
    
    9.输出9*9口诀。
    for i in range(1,10):
        for j in range(1,10):
            if(j > i):
                break
            print('%d*%d=%d' % (j,i,i*j),end=' ')
        print('\n')
    
    result:
    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担,问有大,中,小马各几匹?
    horses = 100
    goods = 100
    for small_horse in range(0,201): #最多200
        for middle_horse in range(0,51): #最多50
            for big_horse in range(0,34): #最多33
                if(small_horse + middle_horse + big_horse == horses) and (0.5*small_horse + middle_horse*2 + big_horse*3 == goods):
                        print('small_horse:%d middle_horse:%d big_horse:%d' % (small_horse,middle_horse,big_horse))
    
    result:
    small_horse:68 middle_horse:30 big_horse:2
    small_horse:70 middle_horse:25 big_horse:5
    small_horse:72 middle_horse:20 big_horse:8
    small_horse:74 middle_horse:15 big_horse:11
    small_horse:76 middle_horse:10 big_horse:14
    small_horse:78 middle_horse:5 big_horse:17
    small_horse:80 middle_horse:0 big_horse:20
    
    11.我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
    money = 100
    chicken = 100
    for chick in range(0,301): #最多300
        for hen in range(0,34): #最多33
            for cock in range(0,21): #最多20
                if(chick + hen + cock == chicken) and (5*cock + 3*hen + 1/3*chick == 100):
                    print('公鸡%d 只,母鸡%d 只,小鸡%d 只' % (cock, hen, chick))
    
    result:
    公鸡0 只,母鸡25 只,小鸡75 只
    公鸡4 只,母鸡18 只,小鸡78 只
    公鸡8 只,母鸡11 只,小鸡81 只
    公鸡12 只,母鸡4 只,小鸡84 只
    
    12.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
    money = 100
    for shampoo in range(0,7): #最多6
        for soap in range(0,51): #最多50 
            for toothbrush in range(0,21): #最多20
                if(shampoo*15 + soap*2 + toothbrush*5 == 100):
                    print('可以洗发水%d 瓶,肥皂%d 块,牙刷%d 副' % (shampoo, soap, toothbrush))
    
    result:
    可以洗发水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 day5 and homework

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