美文网首页
day4-循环作业提高

day4-循环作业提高

作者: 冯书简 | 来源:发表于2019-06-09 22:22 被阅读0次

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

    age = int(input('请输入您的年龄:'))
        if age <12:
            print('You are a child')
        elif age <18:
            print('You are a teenager')
        elif age < 25:
            print('You are a postadolescent')
        eilf age < 45:
            priint('You are an adult')
        else:
            print('You are an agedness')
    

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

    products = 1
    for i in range(1, 6):
        products *= i
    print(products)
    

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

    products = 1
    sum = 0
    for i in range(1, 21):
        products *= i
        sum += products
    print(sum)
    

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

    from fractions import Fraction
    sum = 0
    denominator = 1
    for i in range (1, 21):
        denominator *= i
        sum += Fraction(1, denominator)
    print(sum)
    

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

    sum = 0
    while True:
        num = int(input('请输入一个数,输入0就结束循环:'))
        if num == 0:
            break
        sum += num
    print(sum)
    

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

    sum = 0
    num2 = 0
    num1 = int(input('输入想加的数:'))
    n = int(input('输入几个数相加:'))
    for i in range(1, n + 1):
        num2 = num1 * 10 ** (i - 1) + num2
        sum += num2
        print(num2)
    print(sum)
    

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

    num1 = 3
    num2 = 2
    num3 = 1
    if num1 > num2:
        num = num2
        num2 = num1
        if num2 < num3:
            print(num, num2, num3)
        else:
            if num3 < num:
                print(num3, num, num2)
            else:
                print(num, num3, num2)
    else:
        if num2 < num3:
            print(num1, num2, num3)
        else:
            if num3 > num1:
                print(num1, num3, num2)
            else:
                print(num3, num1,num2)
    
    num1 = 2
    num2 = 3
    num3 = 1
    while not num1 < num2 < num3:
        if num1 > num2:
            num1, num2 = num2, num1
        if num2 > num3:
            num2, num3= num3, num2
        if num1 > num3:
            num1, num3 = num3, num1
    print(num1, num2, num3)
    
    #冒泡排序
    num_lists =[]
    n = 0
    print('(请输入你要比较的数,输入一个数按一次回车)')
    while True:
        try:
            num_string = input('请输入一个数,输入q结束:')
            num =int(num_string)
        except ValueError:
            if num_string == 'q':
                break
        num_lists.append(num)
        n += 1
    for i in range(n-1):
        for j in range(n-i-1):
            if num_lists[j] > num_lists[j + 1]:
                num_lists[j], num_lists[j + 1] = num_lists[j + 1], num_lists[j]
    for num_list in num_lists:
        print(num_list, end =' ')
    

    8.控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
    m=5
    for i in range(m, 0, -1):
         print('*'*i)
    
    for x in range(5):
        for y in range(5-x):
            print('*', end='')
        print()
    
    b.根据n的值的不同,输出相应的形状(n为奇数)
    n = 5               n = 7
      *                    *
     ***                  ***
    *****                *****
                        *******
    
    m=7
    for i in range(1, m+1, 2):
        space = int((m-i)/2)
        print( ' '*space, end ='')
        print('*'*i)
    

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


    timg.jpg
    for i in range(1,10):
        for j in range(1, i+1):
            print(j, 'x', i,'=', i*j, end = '   ')
        print(' ')
    

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

    for i in range(100//3):
        for j in range(100//2-i):
            if 3*i +2*j + (100 - i - j)/2 == 100:
                print('大马', i,'中马', j,'小马', 100-i-j)
    

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

    for i in range(100):
        for j in range(100-i):
            if 5*i +3*j + (100 - i - j)/3 == 100:
                print('公鸡', i,'母鸡', j,'雏鸡', 100-i-j)
    

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

    for i in range(1,7):
        for j in range(1,51):
            for k in range(1,21):
                if i*15 + 2*j + 5*k == 100:
                    print('洗发露', i, '香皂', j, '牙膏', k)
    

    相关文章

      网友评论

          本文标题:day4-循环作业提高

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