目錄檔案內容如下,標題為:姓名,性別,年紀,薪資
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 支援埠...