列表作业(习题)
目錄
1、自定義一個數(shù)字列表,獲取這個列表中的最小值
?2、自定義一個數(shù)字列表,元素為10個 ,找出列表中最大數(shù)連同下標一起輸出
3、自定義一個數(shù)字列表,求列表中第二大數(shù)的下標 ?
4、B哥去參加青年歌手大獎賽 ,有10個評委打分 ,(去掉一個最高分一個最低分)求平均分 ?
5、定義列表,存放5個學(xué)生的成績【成績值自己設(shè)定】,獲得成績之和,平均成績,最小成績,最大成績。 ?
6、將一個列表逆序輸出, 提示: range(6,-1,-1), [::-1] ?
7、完成猜拳游戲 ?
?8、給定一個列表:將列表中指定的某個元素全部刪除: count, remove
9、自定義一個列表,最大的與第一個元素交換,最小的與最后一個元素交換,輸出列表(不考慮特殊情況) ?
10、對稱列表. 傳入一個列表,元素類型與個數(shù)皆未知,返回新列表,由原列表的元素正序反序拼接而成;
?11、給定一個不存在重復(fù)元素的整數(shù)列表,例如[6 ,4 ,7 ,2 ,5 ,8]和一個數(shù)字,例如10, 找出兩個元素(或同一個元素加自身),并且使這兩個數(shù)的和為給定數(shù)字,并打印出來
?12、有一個從小到大排好序的列表。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入列表中
13、列表去重, 將下面的列表中重復(fù)的元素去除, 不能使用set() ?
1、自定義一個數(shù)字列表,獲取這個列表中的最小值
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、自定義一個數(shù)字列表,元素為10個 ,找出列表中最大數(shù)連同下標一起輸出
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('列表中最大數(shù)是:{},下標為:{}' .format(max,count))3、自定義一個數(shù)字列表,求列表中第二大數(shù)的下標 ?
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 = max1max1 = ielif 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個學(xué)生的成績【成績值自己設(shè)定】,獲得成績之和,平均成績,最小成績,最大成績。 ?
scores2 = [66, 77, 88, 99, 100] s = 0 min = max = scores2[0] for i in scores2:s += iif (min > i):min = iif (max < i):max = i print('成績之和為:{},平均成績?yōu)閧},最小成績?yōu)?#xff1a;{},最大成績?yōu)?#xff1a;{}' .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):continuestr.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 = iif (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、對稱列表. 傳入一個列表,元素類型與個數(shù)皆未知,返回新列表,由原列表的元素正序反序拼接而成;
如傳入["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、給定一個不存在重復(fù)元素的整數(shù)列表,例如[6 ,4 ,7 ,2 ,5 ,8]和一個數(shù)字,例如10, 找出兩個元素(或同一個元素加自身),并且使這兩個數(shù)的和為給定數(shù)字,并打印出來
例如[6 ,4 ,7 ,2 ,5 ,8]和數(shù)字10. 打印結(jié)果為: 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、有一個從小到大排好序的列表。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入列表中
如: [2 ,3 ,4 ,56, 67, 98] 如插入63, 100
str = [2 ,3 ,4 ,56, 67, 98] s1 = [] n = int(input('請輸入要插入的數(shù):')) 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 += 1breakif (i == len(str) - 1):s1.append(n) print(s1)13、列表去重, 將下面的列表中重復(fù)的元素去除, 不能使用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)?
總結(jié)
- 上一篇: 利用VIM为源码添加行号
- 下一篇: linux iscsi软件,linux