目录
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)