1. 程式人生 > >列表和元組作業

列表和元組作業

1,寫程式碼,有如下列表,按照要求實現每一個功能

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

1)計算列表的長度並輸出

2)列表中追加元素"seven",並輸出新增後的列表

3)請在列表的第1個位置插⼊入元素"Tony",並輸出新增後的列表

4)請修改列表第2個位置的元素為"Kelly",並輸出修改後的列表

5)請將列表l2=[1,"a",3,4,"heart"]的每一個元素新增到列表li中,一行程式碼實 現,不允許迴圈新增。

6)請將字串串s = "qwert"的每一個元素新增到列表li中,一行程式碼實現,不允許迴圈新增。

8)請刪除列表中的第2個元素,並輸出刪除的元素和刪除元素後的列表

9)請刪除列表中的第2⾄至4個元素,並輸出刪除元素後的列表

10)請將列列表所有得元素反轉,並輸出反轉後的列表

11)請計算出"alex"元素在列表li中出現的次數,並輸出該次數。 

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
print(len(li))
li.append("seven")
print(li)
li.insert(1,"Tony")
print(li)
li[1]="Kelly"
print(li)
l2=[1,"a",3,4,"heart"]
li.extend(l2)
print(li)
s = "qwert"
li.extend(s)
print(li)
print(li.pop(1))
print(li)
del li[1:4]
print(li)
li.reverse()
print(li)
print(li.count("alex"))

2,寫程式碼,有如下列表,利用切片實現每一個功能

li = [1, 3, 2, "a", 4, "b", 5,"c"]

1)通過對li列表的切片形成新的列表l1,l1 = [1,3,2]

2)通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]

3)通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5]

4)通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]

5)通過對li列表的切片形成新的列表l5,l5 = ["c"]

6)通過對li列表的切片形成新的列表l6,l6 = ["b","a",3] 

li = [1, 3, 2, "a", 4, "b", 5,"c"]
print(li[:3])
print(li[3:6])
print(li[::2])
print(li[1:6:2])
print(li[-1::])
print(li[-3::-2])

3,寫程式碼,有如下列表,按照要求實現每一個功能。

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]

1)將列表lis中的"tt"變成大寫(用兩種方式)。

2)將列表中的數字3變成字元串"100"(用兩種方式)。

3)將列表中的字元串"1"變成數字101(用兩種方式)。 

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
#1)將列表lis中的"tt"變成⼤寫(⽤兩種⽅式)。
lis[3][2][1][0] = lis[3][2][1][0].upper()
lis[3][2][1][0] = lis[3][2][1][0].replace("t", "T")
lis[3][2][1][0] = "TT"
lis[3][2][1][0] = lis[3][2][1][0].swapcase()
#2)將列表中的數字3變成字串"100"(⽤兩種⽅式)。
lis[3][2][1][1] = "100"
lis[3][2][1][1] = str(lis[3][2][1][1] + 97)
lis[1] = str(lis[1] + 97)

#3)將列表中的字串"1"變成數字101(⽤兩種⽅式)。
lis[3][2][1][2] = 101
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
lis[3][2][1][2] = int(lis[3][2][1][2] + "01")

4,請用程式碼實現:

li = ["alex", "eric", "rain"] 利用下劃線將列表的每一個元素拼接成字元串"alex_eric_rain"

li = ["alex", "eric", "rain"] # alex_eric_rain   1+2+3+4
s = ""
for item in li: # item 列表中的每一個名字
    s += item + "_"  # "alex_eric_rain_"
s = s[:-1]
print(s)

5.利用for迴圈和range打印出下面列表的索引。

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
    print(i)

6.利用for迴圈和range找出100以內所有的偶數並將這些偶數插入到一個新列表 中。

lst = []
for i in range(100):
    if i % 2 == 0:
        lst.append(i)
print(lst)

7.利用for迴圈和range 找出50以內能被3整除的數,並將這些數插入到一個新列 表中。

lst = []
for i in range(50):
    if i % 3 == 0:
        lst.append(i)
print(lst)

8.利用for迴圈和range從100~1,倒序列印。

for i in range(100, 0, -1):
    print(i)

9.利用for迴圈和range從100~10,倒序將所有的偶數新增到一個新列表中,然後對列表的元素進行篩選,將能被4整除的數留下來。

lst = []
for i in range(100, 9, -2):
    if i % 4 == 0:
        lst.append(i)
print(lst) 

10,利用for迴圈和range,將1-30的數字一次新增到一個列表中,並迴圈這個列表,將能被3整除的數改成*。

lst = []
for i in range(1, 31):
    lst.append(i)
for i in range(len(lst)):
    if lst[i] % 3 == 0:
        lst[i] = "*" #  修改成*
print(lst)

11,查詢列列表li中的元素,移除每個元素的空格,並找出以"A"或者"a"開頭,並 以"c"結尾的所有元素,並新增到一個新列表中,後迴圈列印這個新列表。

li = ["TaiBai ", “ale xC", “AbC ", "egon", " ri TiAn", "WuSir", " aqc"]

li = ["TaiBai ", "ale xC", "Abc ", "egon", " ri TiAn", "WuSir", " aqc"]
lst = []
for item in li:
    # 去空格
    content = item.replace(" ", "")
    if (content.upper().startswith("A")) and content.endswith("c"):
        lst.append(content)
print(lst)

12,開發敏感詞語過濾程式,提示使用者輸入評論內容,如果使用者輸入的內容中 包含特殊的字元:

敏感詞列表 li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"] 則將使用者輸入的內容中的敏感詞彙替換成等長度的*(蒼老師就替換***),並添 加到一個列表中;如果使用者輸入的內容沒有敏感詞彙,則直接新增到上述的列 表中。

li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣", "sb","dsb"]
concent = input("輸入評論").strip()
for i in li: # i是每一個敏感詞
    if i in concent: #判斷是否包含敏感詞
        concent = concent.replace(i,"*"*len(i)) #替換敏感詞為*
print(concent)

13,有如下列表

li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] 迴圈列印列表中的每個元素,遇到列表則再迴圈打印出它里面的元素。 我想要的結果是:

1

3

4

alex

3

7

8

taibai

5

ritian

li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
for el in li: # 獲取到第一層內容
    if type(el) == list: # 判斷元素是否是xxx資料型別
        for item in el: # 迴圈內層列表
            print(str(item).lower())
    else:
        print(str(el).lower())

14. 把班級學生數學考試成績錄入到一個列表中: 並求平均值要求: 錄入的時候 要帶著人名錄入,

例如: 張三_44

names = []
sum=0
while 1:
    conter = input("請輸入姓名_分數")
    if conter.upper() == "Q":
        break
    else:
        names.append(conter)
for i in names:
    s = i.split("_")
    sum += int(s[1])
print(sum / len(names))

15. 敲七遊戲. 從0開始數. 遇到7或者7的倍數要在桌上敲一下. 程式設計來完成敲

n = []
conter = input("請輸入數字:")
for i in range(1,int(conter)):
    if i % 7 == 0 or str(7) in str(i):
        i = "咣"
        s.append(i)
    else:
        s.append(i)
print(s)

16. (升級題) 編寫程式. 完成心動女⽣生的篩選. (升級題) 
       

首先. 程式會提示使用者錄入10位心儀女生的姓名. 然後把10位女生的名 字和序號展示出來. 由使用者選擇⼼心動女生. 此時⽤使用者可以選擇3個心動女⽣生. 把用 戶選中的三個心動女生的名字打印出來. 供使用者繼續選擇. 這一次選擇.只能選 擇一名女生. 然後輸出使用者的心動女生是xxx  運行效果: 

chuxuan_lst = []
for i in range(10):
    name = input("請輸入你的心動女生(還可以輸入%s個):" % (10 - i))
    chuxuan_lst.append(name)
# ['劉嘉玲', '林志玲', '安安', '小茹', '曉雪', '強哥', '胡辣湯', '寶寶', '萌萌', '磊磊']
# print(chuxuan_lst)
print("您現在的心動女生有:")
for i in range(len(chuxuan_lst)):
    print(i + 1, chuxuan_lst[i]) # 顯示10個女生
# 從10個裡面選擇三個
fuxuan_list = []
for i in range(3):
    bh = input("請輸入你要選擇的三個女生(還剩下%s個)" % (3-i))
    # 編號還原回索引
    index = int(bh) - 1
    fuxuan_list.append(chuxuan_lst[index])
print("您現在經過初選之後剩下的心動女生:")
for i in range(len(fuxuan_list)):
    print(i + 1, fuxuan_list[i])
bh = input("請從這三個女生中選擇一個你最喜歡的:")
index = int(bh) - 1
print("您最終喜歡的女生是%s" % (fuxuan_list[index]))