天天看点

列表作业(习题)

目录

​​1、自定义一个数字列表,获取这个列表中的最小值​​

​​ 2、自定义一个数字列表,元素为10个 ,找出列表中最大数连同下标一起输出​​

​​3、自定义一个数字列表,求列表中第二大数的下标  ​​

​​4、B哥去参加青年歌手大奖赛 ,有10个评委打分 ,(去掉一个最高分一个最低分)求平均分  ​​

​​5、定义列表,存放5个学生的成绩【成绩值自己设定】,获得成绩之和,平均成绩,最小成绩,最大成绩。  ​​

​​6、将一个列表逆序输出, 提示: range(6,-1,-1), [::-1]  ​​

​​7、完成猜拳游戏  ​​

​​ 8、给定一个列表:将列表中指定的某个元素全部删除: count, remove​​

​​9、自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出列表(不考虑特殊情况)  ​​

​​10、对称列表. 传入一个列表,元素类型与个数皆未知,返回新列表,由原列表的元素正序反序拼接而成;​​

​​ 11、给定一个不存在重复元素的整数列表,例如[6 ,4 ,7 ,2 ,5 ,8]和一个数字,例如10, 找出两个元素(或同一个元素加自身),并且使这两个数的和为给定数字,并打印出来​​

​​ 12、有一个从小到大排好序的列表。现输入一个数,要求按原来的规律将它插入列表中​​

​​13、列表去重, 将下面的列表中重复的元素去除, 不能使用set()  ​​

1、自定义一个数字列表,获取这个列表中的最小值

ages = [1, -3, 2, 5, -4, 99, 7, 8, 5, 3]

min = 0
ages = [1, -3, 2, 5, -4, 99, 7, 8, 5, 3]
for i in ages:
    if (i < min ):
        min = i
print(min)      
列表作业(习题)

 2、自定义一个数字列表,元素为10个 ,找出列表中最大数连同下标一起输出

max = 0
count = 0
ages = [1, -3, 2, 5, -4, 99, 7, 8, 5, 3]
for i in range(len(ages)):
    if (ages[i] > max):
        max = ages[i]
        count = i
print('列表中最大数是:{},下标为:{}' .format(max,count))      
列表作业(习题)

3、自定义一个数字列表,求列表中第二大数的下标  

ages = [1, -3, 2, 5, -4, 99, 7, 8, 5, 3]
max1 = 0
max2 = 0
for i in range(len(ages)):
    if ages[i] > ages[max1]:
        max2 = max1
        max1 = i
    elif ages[i] > ages[max2]:
        max2 = i
print(max2)      
列表作业(习题)

4、B哥去参加青年歌手大奖赛 ,有10个评委打分 ,(去掉一个最高分一个最低分)求平均分  

scores = [33, 44, 88, 88, 33, 66, 77, 88, 44, 55]
max_score = min_score = scores[0]
sum1 = 0
for i in range(len(scores)):
    if(max_score < scores[i]):
        max_score = scores[i]
    if(min_score > scores[i]):
        min_score = scores[i]
    sum1 +=scores[i]
print('最后的得分是:{}' .format((sum1 - max_score - min_score) / (len(scores) - 2)))      
列表作业(习题)

5、定义列表,存放5个学生的成绩【成绩值自己设定】,获得成绩之和,平均成绩,最小成绩,最大成绩。  

scores2 = [66, 77, 88, 99, 100]
s = 0
min = max = scores2[0]
for i in scores2:
    s += i
    if (min > i):
        min = i
    if (max < i):
        max = i
print('成绩之和为:{},平均成绩为{},最小成绩为:{},最大成绩为:{}' .format(s,s / len(scores2),min,max))      
列表作业(习题)

6、将一个列表逆序输出, 提示: range(6,-1,-1), [::-1]  

scores2 = [66, 77, 88, 99, 100]
print(scores2[::-1])      
列表作业(习题)

7、完成猜拳游戏  

import random
computer = random.randint(1, 3)
print(computer)
print('''
-----------------------------
请输入你的选择(1/2/3):
1. 石头
2. 剪刀
3. 布
-----------------------------
''')
me = int(input('输入你的选择:'))
if (((me == 1) and (computer == 2)) or ((me == 2) and (computer == 3))):
    print('恭喜你,你赢了')
elif (me == computer):
    print('平局')
else:
    print('不好意思,你输了')      
列表作业(习题)

 8、给定一个列表:将列表中指定的某个元素全部删除: count, remove

scores2 = [66, 66,77, 88, 99,66, 100]
n = int(input('请输入要删除的元素:'))
str = []
for i in scores2:
    if (i == n):
        continue
    str.append(i)
print(str)      
列表作业(习题)

9、自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出列表(不考虑特殊情况)  

list1 = [2, 3, 4, 5, -6, 7, 8, 1]
max = min = list1[0]
max_i = min_i = 0
for i in range(len(list1)):
    if (max < list1[i]):
        max = list1[i]
        max_i = i
    if (min > list1[i]):
        min = list1[i]
        min_i = i
list1[0] ,list1[max_i] = list1[max_i] , list1[0]
list1[len(list1) - 1] , list1[min_i] = list1[min_i] , list1[len(list1) - 1]
print(list1)      
列表作业(习题)

10、对称列表. 传入一个列表,元素类型与个数皆未知,返回新列表,由原列表的元素正序反序拼接而成;

如传入["One", "Two", "Three"] 返回['One', 'Two', 'Three', 'Three', 'Two', 'One']  

list2 = ["One", "Two", "Three"]
list3 = []
for i in range(len(list2)):
    list3.append(list2[i])
for j in range((len(list2) - 1),-1,-1):
    list3.append(list2[j])
print(list3)      
列表作业(习题)

 11、给定一个不存在重复元素的整数列表,例如[6 ,4 ,7 ,2 ,5 ,8]和一个数字,例如10, 找出两个元素(或同一个元素加自身),并且使这两个数的和为给定数字,并打印出来

例如[6 ,4 ,7 ,2 ,5 ,8]和数字10. 打印结果为: 6,4 2,8 5,5

list3 = [6, 4, 7, 2, 5, 8]
n = 10
for i in range(len(list3)):
    for j in range(i,len(list3)):
        if (list3[i] + list3[j] == n):
            print(list3[i],list3[j])      
列表作业(习题)

 12、有一个从小到大排好序的列表。现输入一个数,要求按原来的规律将它插入列表中

如: [2 ,3 ,4 ,56, 67, 98] 如插入63, 100

str = [2 ,3 ,4 ,56, 67, 98]
s1 = []
n = int(input('请输入要插入的数:'))
for i in range(len(str)):
    if (str[i] < n):
        s1.append(str[i])
    else:
        s1.append(n)
        while i < len(str):
            s1.append(str[i])
            i += 1
        break
    if (i == len(str) - 1):
        s1.append(n)
print(s1)      

13、列表去重, 将下面的列表中重复的元素去除, 不能使用set()  

list1 = [1, 2, 3 ,5 ,4 ,4 ,4 ,5 ,5 ,3 ,2 ,1]
s1 = []
for i in list1:
    if i not in s1:
        s1.append(i)
print(s1)