Python作业求助

Python014

Python作业求助,第1张

就做一下标点符号的替换吧

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、退出服务器

功能不多,但是实现起来也是需要点代码的 :-)