码迷,mamicode.com
首页 > 编程语言 > 详细

python-code-14

时间:2018-06-14 11:30:16      阅读:182      评论:0      收藏:0      [点我收藏+]

标签: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开头的人的信息
技术分享图片
##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(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)
View Code

 

python-code-14

标签:ppi   sed   文件   ...   not   lenovo   xxx   思考   开头   

原文地址:https://www.cnblogs.com/xujinjin18/p/9181275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!