Python学习-对象交互

这一次就写对象实验-登录注册吧。

1.导入函数库

先要导入需要的函数库Faker来达到制造伪数据的目的。

from faker import Faker

在导入Faker库之前,需要先安装Faker。
可以使用pip安装:
在这里插入图片描述
或者去Faker的PyPI页面下载Wheel或者Source文件进行安装。

2.定义类

定义用户这个类。

class Person:#class为类的修饰符,Person为类名
    def __init__(self,name,password,phone_number,address,IDcard):#构造方法
        self.name = name #实例属性
        self.password = password
        self.phone_number = phone_number
        self.address = address
        self.IDcard = IDcard

3.使用Faker库

Faker支持中文

fake = Faker(locale='zh_CN')

locale:为生成数据的文化选项(语种),默认为 en_US,只有使用了相关文化,才能生成相对应的随机信息。
常见的文化选项:
zh_CN - Chinese (China Mainland)
zh_TW - Chinese (China Taiwan)
en_US - English (United States)

4.代码

1.使用面向对象思想,将方法封装到某个类中。
2.创建一个独立的模块存放这个类。
3.提供注册功能:需要输入“用户名”、“密码”。

person_list = []
for i in range(0,100):
    name = fake.name()
    password = fake.password()
    phone_number = fake.phone_number()
    address = fake.address()
    IDcard = fake.ssn()
    person = Person(name,password,phone_number,address,IDcard)
    person_list.append(person)
flag = True
print("---------请注册---------")
while flag:
    name = input("请输入用户名:")
    password = input("请输入密码:")

如果账号存在,则重新注册,记住要跳出循环。

    for i in person_list:
        if i.name == name:
            print("此账号已存在,请重新注册!")
            break

如果密码长度不在8-16范围内,则重新注册。

    if len(password)<8 or len(password)>16:
        print("密码长度应在8-16位")

如果满足条件,则注册成功,提供登录功能。

person_list.append(Person(name,password,phone_number,address,IDcard))
        flag = False
print("---------请登录---------")
while True:
    name = input("请输入用户名:")
    password = input("请输入密码:")

如果是才注册的账号,则登录成功,记住要跳出循环。

    for i in person_list:
        if i.name == name and i.password == password:
            print("--------------")
            print("欢迎进入王者荣耀!")
            print("--------------")
    break

完整代码运行结果如下:

---------请注册---------
请输入用户名:123
请输入密码:123
密码长度应在8-16位
请输入用户名:123
请输入密码:123456789
注册成功
请重新登录
---------请登录---------
请输入用户名:123
请输入密码:123456789
--------------
欢迎进入王者荣耀!
--------------

希望我的分析能对你们有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值