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

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

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

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

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

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

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

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

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

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

  1. # 第一题答案
  2. l = set(l)
  3.  
  4. # 第二题答案
  5. List = []
  6. for i in l:
  7. if i in List:
  8. continue
  9. else:
  10. List.append(i)
  11. l = List

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

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

答案1

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

答案2

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

  1. 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'},
    ]
  1. List = []
  2. for i in l:
  3. if i not in List:
  4. List.append(i)

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

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

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

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

  1. SB 18
    Eva 20
    KID 21
    kidd 22
    SB 38
  1. with open('a.txt') as file:
  2. List = []
  3. for i in file.readlines():
  4. List.append(i)
  5. with open('a.txt','w') as file:
  6. for i in List:
  7. if 'alex' in i:
  8. file.write(i.replace('alex','SB'))
  9. else:
  10. file.write(i)

7、有如下文件,a1.txt

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

分别完成以下的功能:

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

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

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

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

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

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

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

答案a

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

答案b

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

答案c

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

答案d

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

答案e

8、有如下文件,t1.txt

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

分别完成下面的功能:

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

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

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

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

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

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

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

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

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

答案a

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

答案b

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

答案c

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

答案d

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

答案e

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

答案g

  1. f = open("t1.txt",mode='r+',encoding="utf-8")
  2. f.seek(24)
  3. f.truncate()
  4. f.seek(0)
  5. s = f.read()
  6. print(s)
  7. 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. Android深入理解Context(一)Context关联类和Application Context创建过程

    前言 Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它. 1.Con ...

  2. vue的组件化运用(数据在两个组件互传,小问题总结)

    一.vue的组件化应用 首先,知道有哪些相关的属性需要用到,再慢慢去理解,运用. 1.两个vue页面 2. slot占位符(可用可不用) 3.props内置属性 4.watch监听函数 5.impor ...

  3. ubuntu18.04 ssh 远程系统拒绝连接 解决方法

    错误提示是这个: The remote system refused the connection. 原因是 Ubuntu 没安装  一个软件, 废话不多说 ,上解决方法: 执行该条命令,安装 ,安装 ...

  4. Mysql创建和删除数据库

    很久没有使用命令行操作Mysql,百度搜罗,重新整理,加强记忆,便于查询. 以下命令均在win7,64位操作系统下,cmd命令行操作: 一.创建1个Mysql 数据库 方法1:1. cmd下输入:my ...

  5. Docker之初识(一)

    1.简介 今年四月份公司逐步改用docker容器来部署应用,当时自己刚踏出学校大门,平时开发都是环境都是早已安装好,因此一直没怎么了解Docker这玩意.公司里各位开发大佬说这是个好东西,可以很方便的 ...

  6. June. 26th 2018, Week 26th. Tuesday

    No affection but interests can be found in the world of animals. 在动物的世界里,只有利益,没有感情. From Animal Worl ...

  7. 一) Spring 介绍、IOC控制反转思想与DI依赖注入

    一.spring介绍1.IOC反转控制思想(Inversion of Control)与DI依赖注入(Dependency Injection)2.AOP面向切面的编程思想与动态代理3.作用:项目的粘 ...

  8. 在Winform开发中使用Grid++报表

    之前一直使用各种报表工具,如RDLC.DevExpress套件的XtraReport报表,在之前一些随笔也有介绍,最近接触锐浪的Grid++报表,做了一些测试例子和辅助类来处理报表内容,觉得还是很不错 ...

  9. C# 菜单之递归算法

    今天因为菜单的问题, 需要用到递归算法, 在此记录一下: 1.表结构如下:(这里只是展示两个比较重要的字段) ,大家应该都看明白 2.先定义一个菜单结构类. 3.实现递归. private List& ...

  10. AOP - 1 基本概念

    1.AOP (面向切面编程) AOP,Aspect Oriented Programming,意为:面向切面编程, 通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术, AOP是OOP的 ...