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}......] 并计算出总价钱。

li = []
with open('a.txt', encoding='utf-8', mode='r') as f1:
for i in f1:
l2 = i.strip().split()
dic = {'name':l2[0], 'price':l2[1], 'amount':l2[2]}
li.append(dic)
print(li)
sum = 0
for j in li:
sum = sum + int(j['price']) * int(j['amount'])
print(sum)
优化拓展
name_list = ['name', 'price', 'amount']
li = []
with open('a.txt', encoding='utf-8', mode='r') as f1:
for i in f1:
l2 = i.strip().split()
# dic = {}
# for j in range(len(l2)):
# dic[name_list[j]] = l2[j]
dic = dict(zip(name_list, l2)) # 前面三句可以优化成这一句,易读性也更强
li.append(dic)
print(li)
sum = 0
for k in li:
sum = sum + int(k['price']) * int(k['amount'])
print(sum)

2,有如下文件:

-------

alex是老男孩python发起人,创建人。

alex其实是人妖。

谁说alex是sb?

你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。

----------

将文件中所有的alex都替换成大写的SB。

import os
with open('alex.txt', encoding='utf-8', mode='r') as f1,\
open('SB.txt', encoding='utf-8', mode='w') as f2:
for i in f1:
print(i)
new_i = i.replace('alex', 'SB')
f2.write(new_i)
os.remove('alex.txt')
os.rename('SB.txt', 'alex.txt')

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}......]
并计算出总价钱。

lis = []
dic = {}
with open('a1.txt', encoding='utf-8', mode='r') as f2:
for i in f2:
li = i.strip().split()
for j in li:
KeyVal = j.split(':')
dic.setdefault(KeyVal[0], KeyVal[1])
lis.append(dic)
dic = {}
print(lis)
sum = 0
for k in lis:
sum =sum + int(k['amount'])*int(k['price'])
print(sum)
lis = []
dic = {}
with open('a1.txt', encoding='utf-8', mode='r') as f2:
for i in f2:
li = i.strip().split()
for j in li:
KeyVal = j.split(':')
dic.setdefault(KeyVal[0], KeyVal[1])
lis.append(dic)
dic = {}
print(lis)

4,文件a2.txt内容:每一行内容分别为商品名字,价钱,个数。

文件内容:
序号     部门      人数      平均年龄      备注
1       python    30        
26         单身狗
2       Linux     26        
30         没对象
3       运营部     20        
24         女生多
通过代码,将其构建成这种数据类型:
[{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
......]

li = []
with open('a2.txt',encoding='utf-8')as f1:
key = f1.readline().strip().split()
for i in f1:
val = i.strip().split()
dic = dict(zip(key,val))
li.append(dic)
print(li)

python基础学习11天,作业题的更多相关文章

  1. python 的基础 学习 11天 作业题

    1.整理函数相关知识点,写博客 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func1(argv): li = [] for i in r ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  4. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  5. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

  6. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  7. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  8. python基础学习(起步)

    目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...

  9. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

随机推荐

  1. 老项目用webpack中文乱码问题解决记录

    有个很久(有多久呢,你还记得jquery1.6的年代吗...)的项目需要新加一些功能,又想使用新的生产力工具比如说webpack,es6,vue神马的.原来的项目整体都是用GBK编码的,这特么...坑 ...

  2. Luogu P2468 [SDOI2010]粟粟的书架

    一道二合一的题目.两部分思维难度都不太高,但是也都很巧妙.尤其是主席树的\(50\)分,由于本人初学主席树,所以没有见过主席树上二分的套路,就被小小的卡了一下.. \(n <= 200\) \( ...

  3. Luogu P1117 [NOI2016]优秀的拆分

    题目链接 \(Click\) \(Here\) 这题质量不错,就是暴力分有点足\(hhhhhhhh\),整整有\(95\)分. (搞得我写完暴力都不想写正解直接理解思路之后就直接水过去了\(QwQ\) ...

  4. Struts2中文件上传下载实例

    1.单文件上传 jsp页面: <!-- 单文件上传 --> <form action="Fileupload.action" method="post& ...

  5. How-to: Do Statistical Analysis with Impala and R

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  6. falsk简单项目示例

    目录结构: 源码及分析 https://github.com/freshman411/Flask_test/

  7. Mybatis笔记一:写一个demo

    什么是Mybatis? 在Java中,我们连接数据库可以使用最初级的JDBC,但是这样很麻烦,每次都要写好多,所以Mybatis出现了,Mybatis可以帮我们很简单很简单的实现与数据库的读取改写操作 ...

  8. PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置

    1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...

  9. C#设计模式(10)——桥接模式

    1.桥接模式介绍 桥接模式用于将抽象化和实现化解耦,使得两者可以独立变化.在面向对象中用通俗的话说明:一个类可以通过多角度来分类,每一种分类都可能变化,那么就把多角度分离出来让各个角度都能独立变化,降 ...

  10. Memcache在.Net中的使用

    一.Memcache基本概念(socket服务器) 本质:是一个在内存上存储的hash表,key的最大值是255字符,最长过期时间为30天 特点:惰性删除,没有监控数据过期的机制,实现最基本的key- ...