这一次就写对象实验-登录注册吧。
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
--------------
欢迎进入王者荣耀!
--------------
希望我的分析能对你们有帮助。