老男孩Python全栈学习 S9 日常作业 008
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的更多相关文章
- 老男孩Python全栈学习 S9 日常作业 006
1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...
- 老男孩Python全栈学习 S9 日常作业 012
1.斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fbnq(n-1)+fbnq(n- ...
- 老男孩Python全栈学习 S9 日常作业 010
1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...
- 老男孩Python全栈学习 S9 日常作业 001
1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...
- 老男孩Python全栈学习 S9 日常作业 013
1.写一个求正方形周长和面积的类 class perimeter: def __init__(s,long): s.long = long def Perimeter(s): print((s.lon ...
- 老男孩Python全栈学习 S9 日常作业 011
1.编写装饰器,为函数加上统计时间的功能 import time def Decoration(func): def Timmer(): # 开始时间 Start = time.time() func ...
- 老男孩Python全栈学习 S9 日常作业 009
1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func1(List): List2 = [] for num in range(len(Li ...
- 老男孩Python全栈学习 S9 日常作业 007
1.把列表中所有姓周的人的信息删掉 lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst2 = [] fo ...
- 老男孩Python全栈学习 S9 日常作业 005
1.有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age& ...
随机推荐
- DbGridEh根据某一个字段的值显示对应底色或字体变化
改变行底色: procedure TForm1.dggrideh1DrawColumnCell(Sender: TObject;const Rect: TRect; DataCol: Integer; ...
- windows笔记本触摸板的快捷键教程
自从习惯了macbook的触摸板,根本就懒得使用鼠标.即实用,又便捷.但切换到windows笔记本的时候,总是不习惯使用触摸板. 今天查了一下微软的教程,发现windows现的已经做的相当不错了.但是 ...
- Django-0-环境搭建、创建项目、启动服务
1- 创建虚拟环境名称(在虚拟机中) mkvirtualenv -p /usr/bin/python3 envname (/usr/bin/python3 - 你自己在虚拟机中的Python解释器 ...
- Oracle函数——日期函数
Oracle中的时间类型只有date和TIMESTAMP,TIMESTAMP是比date更精确的类型.日期时间函数用于处理时间类型的数据,Oracle以7位数字格式来存放日期数据,包括世纪.年.月.日 ...
- Lua rawget rawset newindex 函数定义和例子
在绝大多数情况下,我们都不会用到rawget和rawset. 本文的运行环境:lua 5.3 for windows rawset 赋值操作 rawset是在设置值的过程,进行处理,比如:当某个值改变 ...
- PYQT5登录界面跳转主界面方法
该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法.记录一下: 参考地址:https://www.jianshu.com/p/d18ff36a78d6?fr ...
- C#:System.Array简单使用
1.C# 中的数组 1.1 定义数组: 1.1.1 定义不初始化:数据类型[] 数组名称= new 数据类型[元素个数]; 1.1.2 定义并初始化:数据类型[] 数组名称= new 数据类型[ ...
- 功能测试话题分享-0323 Bug
- torm入门(三)HelloWorld示例
一.配置开发环境 storm有两种操作模式: 本地模式和远程模式.使用本地模式的时候,你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 用远程模式的时候你提交的t ...
- 查询本地电脑IP地址
使用Windows+R键打开"运行"窗口,然后输入CMD进入命令提示窗口 进入命令窗口之后,输入:ipconfig/all 回车即可看到整个电脑的详细的IP配置信息