天天看點

清單作業(習題)

目錄

​​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)