python-code-14
阿新 • • 發佈:2018-06-14
clas sta pla 首字母 strip res xxx view nco
今日作業:
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開頭的人的信息
##1 sum_file = 0 with 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 ##3 total =0 with open(View Code‘shopping.txt‘,encoding=‘utf-8‘) as f: for line in f: line = line.strip(‘\n‘).split(‘,‘) price = int(line[1])*int(line[2]) total += price print(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) ##4 user_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) ##5 user_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) ##6 user_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) ##7 user_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) ##8 user_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)
python-code-14