美文网首页
day6 作业

day6 作业

作者: 遇见那天的雨真大 | 来源:发表于2018-11-12 17:21 被阅读0次

    1.已知一个列表,求列表中心元素。

    答案:
    # author_lorry   
    # date: 2018/11/12
    import random
    import string
    n = input("你想看奇数还是偶数:?输入奇数or偶数")
    if n == "奇数":
        flag = True
        while flag:
            a = random.randint(1,10)
            if a % 2 ==0:
                flag = False
    if n == "偶数":
        flag = True
        while flag:
            a = random.randint(1,10)
            if a % 2 !=0:
                flag = False
    i = 1   #此处用来生成随机数字和字母,然后添加在列表中
    list1 = []
    list1_middle =[ ]
    while i <a:
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num = random.randint(1,20)
        list1.append(num)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    print(list1)
    list1_len = len(list1)
    if list1_len % 2 == 0:
        middle_item1 = list1[int(list1_len/2-1)]
        list1_middle.append(middle_item1)
        middle_item2 = list1[int(list1_len/2)]
        list1_middle.append(middle_item2)
    if list1_len % 2 != 0:
        middle_item1 = list1[int(list1_len//2)]
        list1_middle.append(middle_item1)
    print(list1_middle)
    

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

    答案:
    # author_lorry   
    # date: 2018/11/12
    import random
    n = int(input("列表中几个数字求和?"))
    m = int(input("几位数求和?"))
    num1 = []
    for i in range(n):
        num = random.randint((10**(m-1)),1*(10**m)-1)
        num1.append(num)
    print(num1)
    sum_num1 = sum(num1)
    print(sum_num1)
    

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

    答案:
    # author_lorry
    # date: 2018/11/12
    import random
    import string
    i = 1   
    list1 = []
    list1_jishu  =[]
    while i <5: #此处用来生成随机数字和字母,然后添加在列表中
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num = random.randint(1,20)
        list1.append(num)
        i += 1
    print(list1)
    len_list1 = len(list1)
    for index in range(1,len_list1,2):
        jishu_yuansu = list1[index]
        list1_jishu.append(jishu_yuansu)
    print(list1_jishu)
    

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

    答案:
    # author_lorry
    # date: 2018/11/12
    import random
    import string
    list1 = []
    jishu_value =[ ]
    oushu_value = []
    i = 0
    while i <=10:
        num = random.randint(1,20)
        list1.append(num)
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    print("生成的随机列表为:",list1)
    print()
    for item in list1:
        if str(item).isdigit():
            num_item = int(item)
            if num_item %2 !=0:
                jishu_value.append(num_item)
            else:
                oushu_value.append(num_item)
        else:
            print("%s"%item,end=" ")
    print("不是数字")
    print()
    print(oushu_value,"是偶数")
    print(jishu_value,"是奇数")
    

    5.已知一个列表,将所有元素乘二。

    答案:

    若是将元素来两遍

    # author_lorry
    # date: 2018/11/12
    import random
    import string
    list1 = []
    i = 0
    while i <=3:
        num = random.randint(1,20)
        list1.append(num)
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    print("生成的随机列表为:",list1)
    list2 = list1*2
    print(list2)
    

    若是列表中数值元素2倍的形式。

    # author_lorry
    # date: 2018/11/12
    #若是列表中数值元素2倍的形式。
    import random
    import string
    list1 = []
    list2 =[ ]
    i = 0
    while i <=3:
        num = random.randint(1,20)
        list1.append(num)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    print("生成的随机列表为:",list1)
    #5.已知一个列表,将所有元素乘二。
    for item in list1:
        new_item = item*2
        list2.append(new_item)
    print(list2)
    

    6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的

    答案:

    1.使用循环进行去重

    names = ["lorry","lorrybz","lorry123","lorry","小明","小明","小红","小明","狗蛋","二狗子",]
    index = 0
    while index < len(names):
        i = 1
        while index+i < len(names):
            if names[index] ==names[index+i]:
                names.remove(names[index+i])
                print(names)
            i+=1
        index +=1
    print()
    print("去重后的名字为",names)
    

    1.使用集合快速去重

    names = ["lorry","lorrybz","lorry123","lorry","小明","小明","小红","小明","狗蛋","二狗子",]
    names1 = set(names)
    print(names1)
    
    

    例如:names = ['张三', '李四', '大黄', '张三'] -> names = ['张三', '李四', '大黄']

    7.已经一个数字列表(数字大小在0~6535之间), 将列表转换成数字对应的字符列表

    例如: list1 = [97, 98, 99] -> list1 = ['a', 'b', 'c']

    答案:
    # author_lorry
    #list1 = [97, 98, 99]  -> list1 = ['a', 'b', 'c']
    import random
    i = 0
    list1 = []
    list2 = []
    while i <= 10:
        num = random.randint(0,6535)
        list1.append(num)
        i += 1
    print(list1)
    i = 0
    while i < len(list1):
        item = int(list1[i])
        chr_item = chr(item)
        list2.append(str(chr_item))
        i +=1
    print(list2)
    二、
    # author_lorry
    num = []
    list = []
    for i in range(6536):
        new = chr(i)
        list.append(str(new))
    print(list)
    
    # author_lorry
    import random
    i = 0
    list1 = []
    list2 = []
    while i <= 10:
        num = random.randint(0,6535)
        list1.append(num)
        i += 1
    print(list1)
    for item in list1:
        chr_item = chr(item)
        list2.append(str(chr_item))
    print(list2)
    
    

    8.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)

    答案:
    # author_lorry
    import random
    scores = []
    n = int(input("几个评委随机打分:?"))
    new_scores = []
    for _ in range(n):
        score = random.randint(700,1000)
        scores.append(score)
        scores.sort()
    print(scores)
    aa = scores.index(max(scores))
    bb = scores.index(min(scores))
    a = scores.pop(aa)
    b = scores.pop(bb)
    new_scores = scores
    len_new_scores = len(new_scores)
    average_new_scores = sum(new_scores)/len_new_scores
    print("%d个评委打分,在去掉最高分%d,最低分%d后,平均得分为%s"%(n,a,b,average_new_scores))
    

    9.有另个列表A和B,使用列表C来获取两个列表中公共的元素

    答案:
    
    

    例如: A = [1, 'a', 4, 90] B = ['a', 8, 'j', 1] --> C = [1, 'a']

    答案:
    # author_lorry
    import random
    import string
    list1 = []
    for i in range(10):
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num = random.randint(1,20)
        list1.append(num)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    list2 = []
    for i in range(10):
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list2.append(str11)
        num = random.randint(1,20)
        list2.append(num)
        num1 = random.randint(1,20)
        list2.append(num1)
        i += 1
    print(list1) #生成随机含有字母和数字的列表
    print(list2)
    public_yuansu = []
    for item in list1:
        index = 0
        while index <= len(list2)-1:
            if item == list2[index]:
                public_yuansu.append(item)
            index += 1
    public_yuansu=list(set(public_yuansu))  #  因为随机列表的生成可能有重复,因此对公共元素的列表进行去重
    print(public_yuansu)
    

    使用 in进行查找。

    import random
    import string
    list1 = []
    for i in range(10):
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list1.append(str11)
        num = random.randint(1,20)
        list1.append(num)
        num1 = random.randint(1,20)
        list1.append(num1)
        i += 1
    list2 = []
    for i in range(10):
        str1 = string.ascii_letters
        str11 = random.choice(str1)
        list2.append(str11)
        num = random.randint(1,20)
        list2.append(num)
        num1 = random.randint(1,20)
        list2.append(num1)
        i += 1
    print(list1)
    print(list2)  #生成随机含有字母和数字的列表
    public_yuansu = []
    for item in list1:
        if item in list2:
            public_yuansu.append(item)
    print(public_yuansu)   #打印出两个列表的公共元素
    index = 0            #  因为随机列表的生成可能有重复,因此对公共元素的列表进行去重
    while index < len(public_yuansu):
        i = 1
        while index +i < len(public_yuansu):
            if public_yuansu[index] == public_yuansu[index+i]:
                public_yuansu.remove(public_yuansu[index+i])
            i +=1
        index += 1
    print(public_yuansu)
    
    

    相关文章

      网友评论

          本文标题:day6 作业

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