美文网首页
day5-作业

day5-作业

作者: 旧时初_2e8d | 来源:发表于2018-07-22 13:34 被阅读0次

    1.已知⼀个列表,求列表中⼼元素。

    list1 = [4,5,76,55,14,67,43]
    number = len(list1)
    print('列表中心元素为:%s'%(list1[number//2]))
    

    结果

    列表中心元素为:55
    

    2.已知⼀个列表,求所有元素和。

    list1 = [4,5,76,55,14,67,43]
    item = 0
    sum = 0
    for item in list1:
        sum += item
        item +=1
    print(sum)
    

    结果

    264
    

    3.已知⼀个列表,输出所有奇数下标元素。

    list1 = [4,5,76,55,14,67,43]
    # for i in range(1,8,2):
    #     print(i)
    print(list1[1:7:2])
    

    结果

    [5, 55, 67]
    

    4.已知⼀个列表,输出所有元素中,值为奇数的。

    list1 = [4,5,76,55,14,67,43]
    for item in list1:
        if item%2 !=0:
            print(item)
    

    结果

    5
    55
    67
    43
    

    5.已知⼀个列表,将所有元素乘⼆。

    list1 = [4,5,76,55,14,67,43]
    for item in list1:
        item *=2
        print(item)
    

    结果

    8
    10
    152
    110
    28
    134
    86
    
    

    6.已知⼀个列表,将所有元素加到第⼀个元素中。

    sum = 4
    list1 = [4,5,76,55,14,67,43]
    for item in list1[1:]:
        sum +=item
    del list1[0]
    list1.insert(0,sum)
    print(list1)
    

    结果

    [264, 5, 76, 55, 14, 67, 43]
    

    7.已知⼀个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。

    listA = [4,5,76,55,14,67,43]
    
    listB =listA[1:7:2]
    print(listB)
    listC = listA[0:7:2]
    print(listC)
    

    结果

    [5, 55, 67]
    [4, 76, 14, 43]
    

    8.把A列表的前5个元素复制到B列表中。

    listA = [4,5,76,55,14,67,43]
    listB = [45,77,88]
    new_listA =listA[0:5]
    listB =listB+new_listA
    print(listB)
    

    结果

    [45, 77, 88, 4, 5, 76, 55, 14]
    

    9.把1----36分别放⼊列表中,计算列表数组对⻆元素之和。6 * 6的列表

    for i in range(1,37):
    
        if i%6 !=0:
            print(i,end = ' ')
        else:
            print(i)
    sum = (1+8+15+22+29+36)*2
    print(sum)
    
    1 2 3 4 5 6
    7 8 9 10 11 12
    13 14 15 16 17 18
    19 20 21 22 23 24
    25 26 27 28 29 30
    31 32 33 34 35 36
    222
    

    10.有⼀个⻓度是10的列表,列表内有10个不重复的数字,要求按从⼤到⼩排序。

    list1 = [43,34,21,46,11,32,48,86,55,41]
    print(list1)
    for x in range(len(list1)):
        for i in range(len(list1)-1):
            new_list = list1[i]
            if list1[i] < list1[i+1]:
                list1[i] = list1[i+1]
                list1[i+1] = new_list
    print(list1)
    

    结果

    [43, 34, 21, 46, 11, 32, 48, 86, 55, 41]
    [86, 55, 48, 46, 43, 41, 34, 32, 21, 11]
    

    11.有⼀个⻓度是10的列表,要求删除某⼀个位置的元素

     list1 = [11,22,33,77,88,99,100,44,55,66]# while True:
         value =int(input('请输入要删除的位置的下标:'))
        del list1[value]
         break
    print(list1)
    

    结果

    请输入要删除的位置的下标:4
    [11, 22, 33, 77, 99, 100, 44, 55, 66]
    

    12.有⼀个⻓度是10的列表,按递增排列,⽤户输⼊⼀个数,插⼊适当位置。

    list1 = [11,22,33,44,55,66,77,88,99]
    value = int(input('请输入一个整数:'))
    for y in range(len(list1)):
        if value <= list1[y]:
            list1.insert(y,value)
            break
    print(list1)
    

    结果

    请输入一个整数:34
    [11, 22, 33, 34, 44, 55, 66, 77, 88, 99]
    
    

    13.有⼀个⻓度是10的列表,数组内有10个⼈名,要求去掉重复的

    list1 = ['张一','张二','张三','张四','张四','张五','张六','张七','张八','张九']
    for x in range(len(list1)-1,-1,-1):
        if list1[x] == '张四':
            list1.pop(x)
    print(list1)
    

    结果

    ['张一', '张二', '张三', '张五', '张六', '张七', '张八', '张九']
    

    14.把A列表的第三到第六位之间的元素删除。

    list1 = [11,22,33,77,88,99,100,44,55,66]
     del list1[2:6]
     print(list1)
    

    结果

    [11, 22, 100, 44, 55, 66]
    

    15.已知A列表,B列表,定义⼀个列表C,要求C包含A,B数组中的数据(⽆重复值)

    list_A = ['a','c','e','r','e','m']
    list_B = [1,2,3,4,5,6]
    list_C = []
    for x in list_A:
        if not x in list_C:
            list_C.append(x)
    
    for i in list_B:
        if not i in list_C:
            list_C.append(i)
    
    print(list_C)
    

    结果

    ['a', 'c', 'e', 'r', 'm', 1, 2, 3, 4, 5, 6]
    

    1.求s=a+aa+aaa+aaaa+aa...a的值,其中a是⼀一个数字。例例如2+22+222+2222+22222(此时共有5个数相 加),⼏几个数相加有键盘控制。

    a = int(input('请输入数字a:'))
    number = int(input('请输入几个数相加:'))
    sum = 0
    for i in range(1, number + 1):
        t = 0
        for j in range(i):
            t = t + 10 ** j
        sum +=a*t
    print(sum)
    

    结果

    请输入数字a:2
    请输入几个数相加:5
    24690
    

    2.打印图形1

    n = 4
    for i in range(1, n+1):
        for i in range(1, i+1):
            print('@' , end='')
        print()
    

    结果

    @
    @@
    @@@
    @@@@
    
    n = 5
    for i in range(1, n+1):
        for i in range(1, i+1):
            print('@' , end='')
        print()
    

    结果

    @
    @@
    @@@
    @@@@
    @@@@@
    

    3.打印图形2

    n =3
    for i in range(n+1):
        for j in range(0, n+1 - i):
            print(end=' ')
        for k in range(2*j-1, n+1):
            print("@", end='')
    
        print('')
    

    结果

       @
      @@@
     @@@@@
    
    n =4
    for i in range(n+1):
        for j in range(0, n+1 - i):
            print(end=' ')
        for k in range(2*j-1, n+1):
            print("@", end='')
    

    结果

       @@
      @@@@
     @@@@@@
    

    4.打印图形3

    n = 3
    for i in range(n):
        for j in range(n-i):
            print('@', end='')
        print('')
    print()
    

    结果

    @@@
    @@
    @
    
    1. 输⼊入两个正整数m和n,求其最⼤大公约数和最⼩小公倍数。
    m = int(input('输入正整数m:'))
    n = int(input('输入正整数n:'))
    if m<n:
        for x in range(1,m+1):
            if m%x == 0 and n%x == 0:
                pass
        print('最大公约数为%d'%(x))
        a = n
        while True:
            if a%m == 0 and a%n == 0:
                print('最小公倍数为%d' % (a))
            a += 1
            break
    else:
        for x in range(1, n + 1):
            if m % x == 0 and n % x == 0:
                pass
        print('最大公约数为%d' % (x))
        a = m
        while True:
            if a%m == 0 and a%n == 0:
                print('最小公倍数为%d' % (a))
            a += 1
            break
    

    结果

    输入正整数m:12
    输入正整数n:6
    最大公约数为6
    最小公倍数为12
    
    1. ⼀一个数如果恰好等于它的因⼦子之和,这个数就称为 "完数 "。例例如6=1+2+3.编程 找出1000以内的所有 完数
    for x in range(1,1001):
        sum = 0
        for i in range(1,x):
            if x%i == 0:
                sum +=i
        if x == sum:
            print(x)
    

    结果

    6
    28
    496
    

    7.九九乘法表

    for i in range(1, 10):
        for j in range(1, i+1):
            print('%d*%d=%d\t'%(i, j, i*j), end='')
        print()
    

    结果

    1*1=1   
    2*1=2   2*2=4   
    3*1=3   3*2=6   3*3=9   
    4*1=4   4*2=8   4*3=12  4*4=16  
    5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  
    6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
    7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
    8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
    9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81
    
    1. 一个5位数,判断它是不不是回⽂文数。即12321是回⽂文数,个位与万位相同,⼗十位与千位相同。
    number = int(input('请输入一个五位整数:'))
    a = number//10000
    b = number//1000%10
    c = number//100%100%10
    d = number//10%1000%100%10
    e = number%10
    if a == e and b == d:
        print('%d是回文数'%(number))
    else:
        print('%d不是回文数'%(number))
    

    结果

    请输入一个五位整数:12321
    12321是回文数
    

    2.打印菱形

    
    n = 4
    for x in range(1,n*2):
        if x<=n:
            for num1 in range(n-x):
                print(' ', end='')
            for num2 in range(x*2-1):
                print('@', end='')
        else:
            for new_num1 in range(x - n):
                print(' ', end='')
            for new_num2 in range((2*n-x)*2-1):
                print('@', end='')
        print(' ')
    

    结果

      @ 
      @@@ 
     @@@@@ 
    @@@@@@@ 
     @@@@@ 
      @@@ 
       @ 
    

    3.输⼊入⼀行行字符,分别统计出其中英⽂文字⺟母、空格、数字和其它字符的个数。

    str = input('请输入一串字符:')
    count1 = 0
    count2 = 0
    count3 = 0
    count4 = 0
    for i in str:
        if i.isalpha():
            count1 += 1
        elif i.isspace():
            count2 += 1
        elif i.isdigit():
            count3 += 1
        else:
            count4 += 1
    print('字母个数为%d,空格个数为%d,数字个数为%d,其他字符个数为%d' %  (count1,count2,count3,count4))
    

    结果

    请输入一串字符:  b vgt56tv yy
    字母个数为8,空格个数为4,数字个数为2,其他字符个数为0
    

    相关文章

      网友评论

          本文标题:day5-作业

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