第一模組-第二章 Python基礎資料型別與檔案操作-練習題(程式設計題)

冰糖嚕嚕嚕發表於2020-09-30

1、請用程式碼實現:利用下劃線將列表的每一個元素拼接成字串,li=[‘alex’, ‘eric’, ‘rain’]

li = ['alex', 'eric', 'rain']
new_li = ",".join(li)
print(new_li)

2、查詢列表中元素,移除每個元素的空格,並查詢以a或A開頭並且以c結尾的所有元素。

li = [“alec”, " aric", “Alex”, “Tony”, “rain”]
tu = (“alec”, " aric", “Alex”, “Tony”, “rain”)
dic = {‘k1’: “alex”, ‘k2’: ’ aric’, “k3”: “Alex”, “k4”: “Tony”}

li = ["alec", " aric", "Alex", "Tony", "rain"]
for item in li:
    item = item.strip().replace(" ","")
    if item.startswith("a") or item.startswith("A") and item.endswith("c"):
        print(item)

tu = ("alec", " aric", "Alex", "Tony", "rain")
for item in tu:
    item = item.strip().replace(" ","")
    if item.startswith("a") or item.startswith("A") and item.endswith("c"):
        print(item)

dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
for item in dic:
    item = dic[item].strip().replace(" ","")
    if item.startswith("a") or item.startswith("A") and item.endswith("c"):
        print(item)

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

li=[‘alex’, ‘eric’, ‘rain’]

計算列表長度並輸出

列表中追加元素“seven”,並輸出新增後的列表

請在列表的第1個位置插入元素“Tony”,並輸出新增後的列表

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

請刪除列表中的元素“eric”,並輸出修改後的列表

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

請刪除列表中的第3個元素,並輸出刪除元素後的列表

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

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

請使用for、len、range輸出列表的索引

請使用enumrate輸出列表元素和序號(序號從100開始)

請使用for迴圈輸出列表的所有元素

# 計算列表長度並輸出
li = ['alex','eric','rain']
print(len(li))

# 列表中追加元素“seven”,並輸出新增後的列表
li.append("seven")
print(li)

# 請在列表的第1個位置插入元素“Tony”,並輸出新增後的列表
li.insert(1,"Tony")
print(li)

# 請修改列表第2個位置的元素為“Kelly”,並輸出修改後的列表
li[1] = "Kelly"
print(li)

# 請刪除列表中的元素“eric”,並輸出修改後的列表
li.remove("eric")
print(li)

# 請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表
print(li.pop(2))
print(li)

# 請刪除列表中的第3個元素,並輸出刪除元素後的列表
li.pop(2)
print(li)

# 請刪除列表中的第2至4個元素,並輸出刪除元素後的列表
del li[2:5]
print(li)

# 請將列表所有的元素反轉,並輸出反轉後的列表
li.reverse()
print(li)

# 請使用for、len、range輸出列表的索引
for i in range(len(li)):
    print(f"{li[i]}的索引是{i}")

# 請使用enumrate輸出列表元素和序號(序號從100開始)
for index,val in enumerate(li):
    print(index,val)

# 請使用for迴圈輸出列表的所有元素
for i in li:
    print(i)

4、寫程式碼,有如下列表,請按照功能要求實現每一個功能
li = [“hello”, ‘seven’, [“mon”, [“h”, “kelly”], ‘all’], 123, 446]
請根據索引輸出“Kelly”
請使用索引找到’all’元素並將其修改為“ALL”,如:li[0][1][9]…

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
# 請根據索引輸出“Kelly”
print(li[2][1][1])
# 請使用索引找到all元素並將其修改為ALL,如:li[0][1][9]
li[2][2] = "ALL"
print(li)

5、有如下變數,請實現要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
# 講述元組的特性
# 不可變,沒有新增和刪除的方法
# 請問tu變數中的第一個元素“alex”是否可被修改?
# 不能
# 請問tu變數中的”k2”對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素“Seven”
# 列表,裡面的值可以被修改
val = tu[1][2]["k2"].append("Seven")
print(tu)
# 請問tu變數中的”k3”對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素“Seven“
# 元組,不可修改

6、轉換

# 將字串s = “alex”轉換成列表
s = "alex"
print(list(s))
# 將字串s = “alex”轉換成元祖
s = "alex"
print(tuple(s))
# 將列表li = [“alex”, “seven”]轉換成元組
li = ["alex", "seven"]
print(tuple(li))
# 將元組tu = (‘Alex’, “seven”)轉換成列表
tu = ('Alex', "seven")
print(list(tu))
# 將列表li = [“alex”, “seven”]轉換成字典且字典的key按照10開始向後遞增
li = ["alex", "seven"]
dict = {}
num = 10
for i in li:
    dict[num] = i
    num += 1
print(dict)

7、元素分類
有如下值集合[11,22,33,44,55,66,77,88,99,90],將所有大於66的值儲存至字典的第一個key中,將小於66的值儲存至第二個key的值中。
即:{‘k1’:大於66的所有值, ‘k2’:小於66的所有值}。(程式設計題)

li = [11,22,33,44,55,66,77,88,99,90]
dic = {'k1':[],'k2':[]}
for i in li:
    if i >66:
        dic['k1'].append(i)
    else:
        dic['k2'].append(i)
print(dic)

8、在不改變列表資料結構的情況下找最大值li = [1,3,2,7,6,23,41,243,33,85,56]。(程式設計題)

li = [1,3,2,7,6,23,41,243,33,85,56]
i = 0
max_value = li[0]
for i in li:
    if i > max_value:
        max_value = i
print(max_value)

9、在不改變列表中資料排列結構的前提下,找出以下列表中最接近最大值和最小值的平均值 的數li = [-100,1,3,2,7,6,120,121,140,23,411,99,243,33,85,56]。(程式設計題)

li = [-100,1,3,2,7,6,120,121,140,23,411,99,243,33,85,56]
max_value = li[0]
min_value = li[0]

for i in li:
    if i >max_value:
        max_value = i
    elif i < min_value:
        min_value = i
avg_value = (max_value + min_value)/2

list = []
close = li[0]
for i in li:
    if abs(close - avg_value)  > abs(i - avg_value):
        close = i
print(i)

10、利用for迴圈和range輸出9 * 9乘法表 。(程式設計題)

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}",end=" ")
    print()

11、求100以內的素數和。(程式設計題)

total = 0
for i in range(2,101):
    for j in range(2,i):
        if i % j == 0:
            break
    else:
        total += i
print(total)

相關文章