• Python练习题1

    编写一个填充用户假数据的工具库导入到Python的库中,要求如下:



    代码实现:


    # # -*- coding: utf-8 -*-
    import random
    import re
    
    
    class FakeUser(object):
        # def __init__(self,name,sex):
        #     self.name=name
        #     self.sex=sex
        def sui_ji_name(self):
            with open("first_name.txt", "r",encoding="utf-8") as file:
                A = file.read()
                # A = A.split()
                A = random.sample(A, 1)
            with open("last_name.txt", "r",encoding="utf-8") as file:
                B = file.read()
                # B = B.split()
                C=random.randint(1,2)
                if C==1:
                    B = random.sample(B, 1)
                else:
                    B = random.sample(B, 2)
            self.name = str(A) + str(B)
            return self.name
    
        def sui_ji_sex(self):
            sex = ["男", "女", "未知"]
            self.sex = random.choice(sex)
            return self.sex
    
    
    class SnsUser(object):
        def sui_ji_num(self):
            N=random.randint(1,100)
            print("追随的数量:{}人".format(N))
            for i in range(N+1):
                print(re.sub("[,\[\]' '.]","",FakeUser().sui_ji_name()))
    
    def name_sex():
        name=re.sub("[,\[\]' '.]","",FakeUser().sui_ji_name())
        print(name,end = " ")
        print("性别为{}".format(FakeUser().sui_ji_sex()))
        SnsUser().sui_ji_num()
    
    name_sex()
    

    代码结果:



    ……


      这个带码是自行敲打,有许多的问题,因为是个新手,实现的方式比较简单,没有优化处理,因此有更好的想法可以在留言区留言。
      通过分析题目,在代码中定义了两个类,分别进行随机姓名,性别的选取(FakeUser)和随机随从人数选取(SnsUser);然后定义一个函数处理两个类的信息。



    拓展:

      在进行文件导入的前提是文件内容必须没有标点符号和空格,如果出现可以利用下面这个代码将文本进行格式化:

    # 进行文字处理
    import re
    A=open("last_name.txt", "r",encoding="utf-8")
    A=A.read()
    A=re.sub("[,,、  。\n]","",A)
    set(A)
    print(A)
    

      利用正则表达式re的re.sub将文件中的标点字符替换为空,如果需要更多的替换可在”[,,、  。\n]”内进行添加需要替换的标点字符,这是实现开头代码的前提,是非常重要的。

    上一篇:
    个人简历
    下一篇:
    Hello World
    本文目录
    本文目录