python-code-14

來源:互聯網
上載者:User

標籤:ppi   sed   檔案   ...   not   lenovo   xxx   思考   開頭   

今日作業:
1、求檔案a.txt中總共包含的字元個數?
2、思考題 思考為何在第一次之後的n次sum求和得到的結果為0?
with open(‘a.txt‘,encoding=‘utf-8‘) as f:
g=(len(line) for line in f)
print(sum(g))

3、檔案shopping.txt內容如下
mac,2000,3
lenovo,3000,10
tesla,1000000,10
chicken,200,1

求總共花了多少錢?
列印出所有的商品資訊,格式為
[{‘name‘:‘xxx‘,‘price‘:‘3333‘,‘count‘:3},....]
求單價大於10000的商品資訊,格式同上

4、檔案內容如下,標題為:姓名,性別,年紀,薪資
egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000

要求:
從檔案中取出每一條記錄放入列表中,
列表的每個元素都是{‘name‘:‘egon‘,‘sex‘:‘male‘,‘age‘:18,‘salary‘:3000}的形式

5 根據1得到的列表,取出薪資最高的人的資訊
6 根據1得到的列表,取出最年輕的人的資訊
7 根據1得到的列表,將每個人的資訊中的名字映射成首字母大寫的形式
8 根據1得到的列表,過濾掉名字以a開頭的人的資訊
##1sum_file = 0with open(‘a.txt‘,encoding=‘utf-8‘) as f:   for line in f:       sum_file += len(line)print(sum_file)with open(‘a.txt‘,encoding=‘utf-8‘) as f:    g=(len(line) for line in f)    print(sum(g))##2#g是產生器,產生器的取值特性就是從頭到尾取完就結束,sum迭代取值第一次就取完了,所以後面g都是0,即sum也都是0##3total =0with open(‘shopping.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.strip(‘\n‘).split(‘,‘)        price = int(line[1])*int(line[2])        total += priceprint(total)with open(‘shopping.txt‘,encoding=‘utf-8‘) as f:    g = (int(line.strip(‘\n‘).split(‘,‘)[1])*int(line.strip(‘\n‘).split(‘,‘)[2]) for line in f)    print(sum(g))shopping_info = []with open(‘shopping.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.strip(‘\n‘).split(‘,‘)        keys = [‘name‘,‘price‘,‘count‘]        d = {k:v for k,v in zip(keys,line)}        shopping_info.append(d)        print(d)print(shopping_info)shopping_info = []with open(‘shopping.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.strip(‘\n‘).split(‘,‘)        if int(line[1]) > 10000:            keys = [‘name‘,‘price‘,‘count‘]            d = {k:v for k,v in zip(keys,line)}            shopping_info.append(d)print(shopping_info)##4user_info = []with open(‘4.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.split()        keys = [‘name‘,‘sex‘,‘age‘,‘salary‘]        d = {k:v for k,v in zip(keys,line)}        user_info.append(d)print(user_info)##5user_info = []with open(‘4.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.split()        keys = [‘name‘,‘sex‘,‘age‘,‘salary‘]        d = {k:v for k,v in zip(keys,line)}        user_info.append(d)print(user_info)salary_list = [int(index[‘salary‘]) for index in user_info]# for index in user_info:#     salary_list.append(int(index[‘salary‘]))res = max(salary_list)with open(‘4.txt‘,encoding=‘utf-8‘) as f:    for line in f:        if res == int(line.split()[3]):            print(line)##6user_info = []with open(‘4.txt‘,encoding=‘utf-8‘) as f:    for line in f:        line = line.split()        keys = [‘name‘,‘sex‘,‘age‘,‘salary‘]        d = {k:v for k,v in zip(keys,line)}        user_info.append(d)print(user_info)age_info = (int(age[‘age‘]) for age in user_info)# for age in user_info:#     age = int(age[‘age‘])#     age_info.append(age)for info in user_info:    if int(info[‘age‘]) == min(age_info):        print(info)##7user_info = []with open(‘4.txt‘, encoding=‘utf-8‘) as f:    for line in f:        line = line.split()        keys = [‘name‘, ‘sex‘, ‘age‘, ‘salary‘]        d = {k: v for k, v in zip(keys, line)}        user_info.append(d)print(user_info)for name in user_info:    name[‘name‘] = name[‘name‘].capitalize()print(user_info)##8user_info = []with open(‘4.txt‘, encoding=‘utf-8‘) as f:    for line in f:        line = line.split()        keys = [‘name‘, ‘sex‘, ‘age‘, ‘salary‘]        d = {k: v for k, v in zip(keys, line)}        user_info.append(d)print(user_info)new_user_info = [aname for aname in user_info if not aname[‘name‘].startswith(‘a‘)]# new_user_info = []# for aname in user_info:#     if not aname[‘name‘].startswith(‘a‘):#         new_user_info.append(aname)print(new_user_info)
View Code

 

python-code-14

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.