十九次作業

2022-05-02 23:36:08 字數 3570 閱讀 5304

目錄檔案內容如下,標題為:姓名,性別,年紀,薪資

egon male 18 3000

alex male 38 30000

wupeiqi female 28 20000

yuanhao female 28 10000

要求:從檔案中取出每一條記錄放入列表中,

列表的每個元素都是的形式

with open('a') as f:

a=(i.split() for i in f)

res=[ for name,gender,age,salary in a]

print(res)

''' [, , ,

]'''

根據1得到的列表,取出薪資最高的人的資訊

print(max(res,key=lambda res:res['salary']))

#

根據1得到的列表,取出最年輕的人的資訊

print(min(res,key=lambda res:res['age']))

#

將names=['egon','alex_sb','wupeiqi','yuanhao']中的名字全部變大寫

names=['egon','alex_sb','wupeiqi','yuanhao']

l=for i in names:

i=i.upper()

names = l

print(names)

將names=['egon','alex_sb','wupeiqi','yuanhao']中以sb結尾的名字過濾掉,然後儲存剩下的名字長度

names=['egon','alex_sb','wupeiqi','yuanhao']

l=for i in names:

if i.endswith('sb'):

names.remove(i)

print(names)

for i in names:

print(l)

# ['egon', 'wupeiqi', 'yuanhao']

# [4, 7, 7]

求檔案a.txt中最長的行的長度

l=

with open('a') as f:

for line in f:

# res = f.read()

i = len(line)

# print(res)

l.sort()

print(l[-1])

# 24

求檔案a.txt中總共包含的字元個數?思考為何在第一次之後的n次sum求和得到的結果為0?

with open('a',mode='r',encoding='utf-8') as f:

for line in f:

res = f.read()

print(res)

print(len(res))

# egon male 18 3000

# alex male 38 30000

# wupeiqi female 28 20000

# yuanhao female 28 10000

# 84

with open('a.txt') as f:

g=(len(line) for line in f)

print(sum(g)) #為何報錯?

g得到的是乙個生成器,with方法會讓檔案關閉,然後又去列印g,g又要讀寫檔案會進行「關閉檔案的i/o操作"的報錯
檔案shopping.txt內容如下

mac,20000,3

lenovo,3000,10

tesla,1000000,10

chicken,200,1

求總共花了多少錢?

with open(r'shopping.txt', 'r', encoding='utf-8') as f:

res = [i.strip().split(',') for i in f]

res = sum(int(price)*int(count) for name, price, count in res)

print(res)

# 10090200

列印出所有商品的資訊,格式為[,...]

with open(r'shopping.txt','r',encoding='utf-8') as f:

i = (i.strip().split(',') for i in f)

l = list( for name,price,count in i)

print(l)

# [,

# ,

# ,

# ]

求單價大於10000的商品資訊,格式同上

with open(r'shopping.txt','r',encoding='utf-8') as f:

i = (i.strip().split(',') for i in f)

l = list( for name,price,count in i)

print(list(filter(lambda k:int(k['price'])>10000,l)))

# [,

# ]

思考:判斷下述說法是否正確

題目1:

1、應該將程式所有功能都扔到乙個模組中,然後通過匯入模組的方式引用它們

不對,將所有的功能全部放進乙個模組中攜程麵條型的程式,不僅結構混亂可讀性較差,而且後期的維護工作難較麻煩,另外對於較大的專案一般都是採用分工協作,各自完成一小部分的功能,如果都放在乙個模組中,難以整合。
​ 2、應該只將程式各部分元件共享的那一部分功能扔到乙個模組中,然後通過匯入模組的方式引用它們

正確,將共享的功能全都放進乙個模組中讓大家共享使用,組織結構更加清晰,**冗餘更少
題目2:

執行python檔案與匯入python檔案的區別是什麼?

模組檔案,被當做模組給匯入,有多個

執行檔案,被當做執行檔案執行,只能有乙個

執行python檔案的過程:先開啟檔案,然後傳送系統呼叫,作業系統將硬碟存放的python檔案的內容從硬碟載入到記憶體,python直譯器讀取並執行**,執行過程中產生的名字會存放到這個檔案的命名空間中去.

匯入python檔案的時候會執行匯入的python檔案,執行過程中產生的名字會存放到這個匯入的python檔案的命名空間中去

執行的python檔案產生的命名空間何時**,為什麼?

當前程式執行結束後,python檔案產生的命名空間被**
匯入的python檔案產生的命名空間何時**,為什麼?

如果python檔案有匯入python模組檔案, 匯入的python檔案產生的命名空間就不會被關閉

第十九周作業

1 實現永久重定向,當使用者訪問 www.magedu.org 這個網域名稱時我想讓他跳轉到 www.magedu.com 的主頁面,請寫出配置過程 location 2 rewrite案例 判斷檔案是否存在,要求 當使用者訪問到公司 的時輸入了乙個錯誤的 url 可以將使用者重定向至 www.ma...

acm第十九次樹

一 樹及二叉樹1 樹的概念 樹的定義 一棵樹是由n n 0 個元素組成的有限集合,其中 每個元素稱為結點 node 有乙個特定的結點,稱為根結點或樹根 root 除根結點外,其餘結點能分成m m 0 個互不相交的有限集合t0,t1,t2,tm 1。其中的每個子集又都是一棵樹,這些集合稱為這棵樹的子樹...

N43 第十九周作業

1 lvs nat 多目標ip的dnat,通過將請求報文中的目標位址和目標埠修改為某挑選出的rs的rip和port實現 1 rip和dip必須在同乙個ip網路,且應該使用私網位址 rs的閘道器要指向dip 2 請求報文和響應報文都必須經由director director易於成為系統瓶頸 3 支援埠...