1、有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合

pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}

1. 求出即报名python又报名linux课程的学员名字集合

2. 求出所有报名的学生名字集合

3. 求出只报名python课程的学员名字

4. 求出没有同时这两门课程的学员名字集合

# 1. 求出即报名python又报名linux课程的学员名字集合
print(pythons & linuxs) # 2. 求出所有报名的学生名字集合
print(pythons | linuxs) # 3. 求出只报名python课程的学员名字
print(pythons - linuxs) # 4. 求出没有同时这两门课程的学员名字集合
print(pythons ^ linuxs)

2、有列表l=['a','b',1,'a','a']

1、去重,得到新列表,且新列表无需保持列表原来的顺序

2、去重,得到新列表,且新列表需要保持原来的顺序

# 第一题答案
l = set(l) # 第二题答案
List = []
for i in l:
if i in List:
continue
else:
List.append(i)
l = List

3、有如下文件.db.txt,请去除文件中重复的行

我也不知道要写什么
反正要有重复的行
那就这行吧
那就这行吧
完毕
import os
with open('db.txt','r',encoding='utf-8') as read_f,\
open('db1.txt','w',encoding='utf-8') as write_f:
li = []
for line in read_f.readlines():
if line not in li:
li.append(line)
write_f.write(line)
os.remove('db.txt')
os.rename('db1.txt','db.txt')

答案1

import os
with open('db.txt','r',encoding='utf-8') as read_f:
li = []
for i in read_f:
if i not in li:
li.append(i)
with open('db.txt','w',encoding='utf-8') as write_f:
for i in li:
write_f.write(i)

答案2

4、有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序

l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
List = []
for i in l:
if i not in List:
List.append(i)

5、文件a.txt内容:每一行内容分别为商品名字,价钱,个数,求出本次购物花费的总钱数

apple 10 3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3

with open('a.txt',encoding='utf-8') as read_f:
num1 = 0
num2 = 0
money = 0
for line in read_f.readlines():
num1 = int(line.split(' ')[1])
num2 = int(line.split(' ')[2])
money += num1*num2
print(money)

6、修改文件内容,把文件a.txt中的alex都替换成SB

SB 18
Eva 20
KID 21
kidd 22
SB 38
with open('a.txt') as file:
List = []
for i in file.readlines():
List.append(i)
with open('a.txt','w') as file:
for i in List:
if 'alex' in i:
file.write(i.replace('alex','SB'))
else:
file.write(i)

7、有如下文件,a1.txt

老男孩是最好的学校,
全心全意为学生服务,
只为学生未来,不为牟利。
我说的都是真的。哈哈

分别完成以下的功能:

a,将原文件全部读出来并打印。

b,在原文件后面追加一行内容:信不信由你,反正我信了。

c,将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。

d,将原文件全部清空,换成下面的内容:

每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。

e,将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。

with open('a1.txt','r',encoding='utf-8') as F1:
print(F1.read())

答案a

with open('a1.txt','a',encoding='utf-8') as f1:
f1.write('\n信不信由你,反正我信了。')

答案b

with open('a1.txt','r',encoding='utf-8') as f1:
print(f1.read())
print('信不信由你,反正我信了。')

答案c

with open('a1.txt','w',encoding='utf-8') as f1:
f1.write('''每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。''')

答案d

from os import remove,rename
with open('a1.txt','r',encoding='utf-8') as f1,\
open('a1.txt.tmp','a',encoding='utf-8') as f2:
for i in f1.readlines():
new_line = i.replace('我说的都是真的。哈哈','你们就信吧~\n我说的都是真的。哈哈')
f2.write(new_line)
remove('a1.txt')
rename('a1.txt.tmp','a1.txt')

答案e

8、有如下文件,t1.txt

葫芦娃,葫芦娃,
一根藤上七个瓜
风吹雨打,都不怕,
啦啦啦啦。
我可以算命,而且算的特别准:

分别完成下面的功能:

a、以r+的模式打开原文件,判断原文件是否可读,是否可写。

b、以r的模式打开原文件,利用for循环遍历文件句柄。

c、以r的模式打开原文件,以readlines()方法读取出来,并循环遍历 readlines(),并分析b,与c 有什么区别?深入理解文件句柄与 readlines()结果的区别。

d、以r模式读取‘葫芦娃,’前四个字符。

e、以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。

f、以r模式打开文件,从‘风吹雨打.....’开始读取,一直读到最后。

g、以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将 原内容全部读取出来。

h、截取原文件,截取内容:‘葫芦娃,葫芦娃,’

file = open('t1.txt','r+',encoding='utf-8')
print(file.readable())
print(file.writable())
file.close()

答案a

with open('t1.txt','r',encoding='utf-8') as f1:
for i in f1:
print(i,end='')

答案b

with open('t1.txt','r',encoding='utf-8') as f1:
for i in f1.readlines():
print(i,end='')
# readlines与直接读取句柄内容或者read的区别在于。readlines以迭代的方式读取文件,读一行显示一行,而read会直接将整个文件缓存到内存中,再进行操作。

答案c

with open('t1.txt','r',encoding=',utf-8') as f1:
print(f1.readline(4))

答案d

with open('t1.txt','r',encoding=',utf-8') as f1:
print(f1.readline().strip())

答案e

f = open("t1.txt",mode='r',encoding="utf-8")
for i in f:
if i.startswith("风吹雨打"):
print(i,end='')
print(f.read())
f.flush()
f.close()

答案g

f = open("t1.txt",mode='r+',encoding="utf-8")
f.seek(24)
f.truncate()
f.seek(0)
s = f.read()
print(s)
f.close()

答案h

老男孩Python全栈学习 S9 日常作业 008的更多相关文章

  1. 老男孩Python全栈学习 S9 日常作业 006

    1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...

  2. 老男孩Python全栈学习 S9 日常作业 012

    1.斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fbnq(n-1)+fbnq(n- ...

  3. 老男孩Python全栈学习 S9 日常作业 010

    1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...

  4. 老男孩Python全栈学习 S9 日常作业 001

    1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...

  5. 老男孩Python全栈学习 S9 日常作业 013

    1.写一个求正方形周长和面积的类 class perimeter: def __init__(s,long): s.long = long def Perimeter(s): print((s.lon ...

  6. 老男孩Python全栈学习 S9 日常作业 011

    1.编写装饰器,为函数加上统计时间的功能 import time def Decoration(func): def Timmer(): # 开始时间 Start = time.time() func ...

  7. 老男孩Python全栈学习 S9 日常作业 009

    1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func1(List): List2 = [] for num in range(len(Li ...

  8. 老男孩Python全栈学习 S9 日常作业 007

    1.把列表中所有姓周的人的信息删掉 lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst2 = [] fo ...

  9. 老男孩Python全栈学习 S9 日常作业 005

    1.有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age& ...

随机推荐

  1. HandlerThread原理分析

    HandlerThread是一个内部拥有Handler和Looper的特殊Thread,可以方便地在子线程中处理消息. 简单使用 HandlerThread的使用比较简单. mHandlerThrea ...

  2. json-sever 配置与应用

    先安装 node.js. 全局安装 json-server: npm install json-server -g 检查是否安装成功: json-server -h 安装好后,json-server的 ...

  3. JDBC获取数据库连接

    是什么? JDBC:Java Data Base Connectivity(java数据库连接) 为什么用? sun公司提供JDBC API接口,数据库厂商来提供实现 我们需要用哪个数据库就加载那个数 ...

  4. 我的Windows日常——Win7完美兼容tsmmc.msc的方法

    操作步骤 32位操作系统: 1.将2003系统C:\WINDOWS\system32目录下的mstsmhst.dll.mstsmmc.dll.tsmmc.msc拷贝到Windows7系统中的C:\WI ...

  5. Linux Mint如何安装“微信、QQ、迅雷、WPS办公软件”等国内上瘾软件

    很多小伙伴都用ubuntu或者Linux Mint,但由于已经习惯了让人成瘾的国产软件,比如迅雷,qq,微信等,其实我们应该培养更为健康的上网习惯,这些软件不是非用不可,但如果你不用不行, 那么也是有 ...

  6. $.each()、$.map()区别浅谈

    遍历应该是各种语言中常会用到的操作了,实现的方法也很多,例如使用for.while等循环语句就可以很轻松的做到对数组或对象的遍历,今天想讲的不是它们,而是简单方便的遍历方法. 大致的整理了一下,经常用 ...

  7. Python爬虫【实战篇】scrapy 框架爬取某招聘网存入mongodb

    创建项目 scrapy startproject zhaoping 创建爬虫 cd zhaoping scrapy genspider hr zhaopingwang.com 目录结构 items.p ...

  8. 给MongoDB添加索引

    用过数据库的都知道,数据库索引与书籍的索引类似,都是用来帮助快速查找的.   MongoDB的索引跟关系型数据库的索引几乎一致.       1. 索引的创建   mongodb采用ensureInd ...

  9. DirectX11 With Windows SDK--10 摄像机类

    前言 DirectX11 With Windows SDK完整目录:http://www.cnblogs.com/X-Jun/p/9028764.html 由于考虑后续的项目需要有一个比较好的演示环境 ...

  10. photoshop出现错误:要求96和8之间的整数。已插入最接近的数值

    win10升级后出现该问题.我用的是ps cc2014 解决办法:修改注册表 计算机\HKEY_CURRENT_USER\Software\Adobe\Photoshop\80 新建的是DWORD(3 ...