python之路day8作业

第一题
1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数。
apple 10 3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3
通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。
方法一:
with open("第一题",encoding="utf-8") as f1:
new_list = []
dic = {}
total_price = 0
for line in f1:
l1 = line.split()
dic = {"name":l1[0],"price":l1[1],"amount":l1[2]}
new_list.append(dic)
total_price += int(l1[1]) * int(l1[2])
print(new_list)
print(total_price)

apple 10 3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3
方法二:
with open("第一题",encoding="utf-8") as f1:
li1 = []
new_list = ["name","price","amount"]
total_price = 0
for line in f1:
dic = {}
l1 = line.split()
for i in range(len(new_list)):
dic[new_list[i]] = l1[i]
li1.append(dic)
total_price += int(dic["price"])*int(dic["amount"])
print(li1)
print(total_price)

第二题
import os
with open("第二题",encoding="utf-8") as f1,\
open("第二题新",encoding="utf-8",mode="w") as f2:
s1 = f1.read()
s2 = s1.replace("alex","SB")
f2.write(s2)
os.remove("第二题")
os.rename("第二题新","第二题")

import os
with open("第二题",encoding="utf-8") as f1,\
open("第二题新",encoding="utf-8",mode="w") as f2:
for line in f1:
new_line = line.replace("SB", "alex")
f2.write(new_line)
os.remove("第二题")
os.rename("第二题新", "第二题")

3.文件a1.txt内容
文件内容:
name:apple price:10 amount:3 year:2012
name:tesla price:100000 amount:1 year:2013

通过代码,将其构建成这种数据类型:
[{'name':'apple','price':10,'amount':3},
{'name':'tesla','price':1000000,'amount':1}......]
并计算出总价钱。
with open("第三题",encoding="utf-8") as f1:
li = []
total_price = 0
for line in f1:
dic = {}
l1 = line.split()
for i in l1:
v1, v2 = i.split(":")
dic.setdefault(v1, v2)
li.append(dic)
total_price += int(dic["price"]) * int(dic["amount"])
print(li)
print(total_price)

4,文件a2.txt
文件内容:
序号 部门 人数 平均年龄 备注
1 python 30 26 单身狗
2 Linux 26 30 没对象
3 运营部 20 24 女生多
通过代码,将其构建成这种数据类型:
[{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
......]
并计算出总价钱。
方法一:
with open("第四题",encoding="utf-8") as f1:
l1_key = f1.readline().split()
li = []
for line in f1:
dic = {}
l2_value = line.split()
for key in l1_key:
for value in l2_value:
if value.isdigit():
value = int(value)
if value in dic.values():
pass
else:
dic.setdefault(key,value)
li.append(dic)
print(li)

方法二:
with open("第四题",encoding="utf-8") as f1:
l1_key = f1.readline().split()
li = []
for line in f1:
dic = {}
l2_value = line.split()
for i in range(len(l1_key)):
dic[l1_key[i]] = l2_value[i]
li.append(dic)
print(li)

posted on 2018-05-09 19:18  Y易然R  阅读(171)  评论(0)    收藏  举报

导航