就做一下标点符号的替换吧
txt = open("绝代风华.txt","r+",encoding='utf-8').read()#修改访问模式为"r+"txt2=txt.replace(",",' ').replace("。",' ')#还有什么符号就自己加吧
txt3=open("E://绝代风华2.txt","w+",encoding='utf-8')#设置路径比较好,在文件名前加
txt3.write(txt2)#写入替换好的文本,形成新文本
#以下三句放在代码的后面
txt.close()
txt3.close()
#打开新文本,若查看的文本内容无误,这两行代码可以注释。
pl=open("E://绝代风华2.txt","r",encoding='utf-8').read()
pl.close()
# Python3.6# 导入random模块
import random
# 定义一个人椅的类
class ManAndBench:
def __init__(self, n_bench):
self.bench_num = n_bench
# 依次已经被占用的座位号
self.break_point = []
def print_bench(self):
# 定义全0数组作为长椅
pt_str = [0 for _ in range(self.bench_num)]
# 按照占用的作为号,重写长椅数字
for i, item in enumerate(self.break_point):
# 长椅的第[作为号]赋值为第i+1个人
pt_str[item] = i+1
brk_num = len(self.break_point)
if brk_num == 0:
print("长椅为空:", pt_str)
else:
print("{:2d}号男人: {}".format(brk_num, pt_str))
def next_man(self):
# 如果是第一个人,使用随机占座
if len(self.break_point) == 0:
fst = random.randint(0, self.bench_num - 1)
self.break_point.append(fst)
else:
brk_num = len(self.break_point)
# 产生已经被占座的个数+1的全零数组,用于空的位置长度计数
block_size = [0 for _ in range(brk_num + 1)]
# 统计每个空位置的长度
tmp = 0
for i in range(self.bench_num):
# 如果第i个作为没有被占用,则第tmp个数组加1
if i not in self.break_point:
block_size[tmp] += 1
# 否则,tmp加1,统计下一个间隔段的长度
else:
tmp += 1
# 找出最大长度,计算最大长度块的序号
max_block = max(block_size)
max_index = block_size.index(max_block)
# 计算最大长度块在整个长椅中的分割点
start = 0
for i in range(max_index):
start += block_size[i]+1
self.break_point.append(start + max_block // 2)
c = int(input("请输入椅子的数量:"))
while True:
m = int(input("请输入人的数量:"))
if m <= c:
break
else:
print("人数量大于椅子数量,请重新输入!")
# 引用定义的类
mab = ManAndBench(c)
# 打印长椅
mab.print_bench()
# 每次坐一个人,打印一次
for _ in range(m):
mab.next_man()
mab.print_bench()
做一个FTP客户端吧,这个更实际点,还能用得上。需要做到:1、连接服务器 (socket知识)
2、列出服务器上的文件
3、下载服务器上的文件
4、上传文件到服务器
5、同时上传或者下载多个文件(多线程知识)
6、退出服务器
功能不多,但是实现起来也是需要点代码的 :-)