- 前言
- 一. 分析代码思路
- 二、 *** 作步骤
- 1.创建类,定义方法
- 2.读入数据
- 3.调用对象
- 二. 账号查询
- 总结
前言
今天我们来实现模拟 新用户创建游戏账号密码
我们一般打游戏或者到某些app或者网站 都需要创建个人信息,例如创建社交昵称姓名 还有账号密码这些等等 如果碰到了相同的id 或者 账号和别人相同的话 会提示我们该用户姓名或者账号以存在。他们是怎么实现的呢? 今天我们就用python实现以下!
本篇文章包含的知识点有:
1.while for循环
2.if嵌套判断语句
3.异常捕获
4.列表,字典,以及索引
5.面向对象
6.文件读写 *** 作
提示:以下是本篇文章正文内容,下面案例可供参考
“”"
代码思路:
先创建 账号密码信息保存于某个文件夹中
然后打开该文件 提取账户信息 验证信息是否存在。
“”"
代码如下(示例):
创建类
class Account_Information():
定义 输入账号方法
代码如下(示例):
def input_ai(self):
while True:
# 接收用户姓名
self.name = input('请输入您的姓名:')
# 捕获异常
try:
# 接收用户输入的账户
self.length = input('请输入您创建10位数的账号:')
# 第一层判断 判断用户输入的是否是数字,不是则返回else
if self.length.isdigit():
# 第二层判断 输入的是否为10位数字, 是就退出循环,不是就重新输入
if len(self.length) == 10:
# 打开文件需要声明字符编码utf-8
document = open('账户信息.txt', encoding='utf-8')
# 读取文件的所有数据
list1 = document.readlines()
# list1返回的是列表 里面1条用户的数据代表着一个索引,所以用for循环遍历
数据判断用户输入的账号是否存在
for i in list1:
# 查找账号起始的索引
index = i.find(self.length)
# 因为账号只允许10位数,所以加上10 就能获取账号位置结束的索引
index1 = index + 10
# 账号的信息
str1 = i[index:index1]
# 第三层判断 输入的账号是否在str1里面,是的话退出for循坏重新输入
if self.length in str1:
print('你创建的账户已存在,请重新输入')
break
# 输入的账号不在str1里面就退出方法
else:
print('创建成功!')
#
document.close()
return
else:
print('请输入10位纯数字')
else:
print('您输入的格式不正确,请再次输入10位纯数字')
except Exception as pp:
print(pp)
定义 输入密码方法
代码如下(示例):
def input_word(self):
while True:
# 密码创建条件
try:
# 接收用户输入的密码
self.password = input('请输入您创建账号密码:')
# 判断密码是否为数字, 不是就返回else
if self.password.isdigit():
# 判断用户密码大于或等于6,否则返回else重新输入
if len(self.password) >= 6:
print('创建成功!')
break
else:
print('请输入6位数以上的密码')
else:
print('您输入的格式不正确,请再次输入10位纯数字')
except:
print('')
# 创建一个字典, 接收用户输入的数据
self.dict1 = {'姓名': self.name, '账号': self.length, '密码': self.password}
2.读入数据
定义一个保存数据的方法
代码如下(示例):
def bao_cun(self):
# 创建一个变量 因为write写入不了字典,就把字典转换为str字符串 然后拼接换行符
dict2 = str(self.dict1) + '\n'
# 打开文件 追加数据 字符编码为utf-8
f = open('账户信息.txt', 'a', encoding='utf-8')
# 写入变量
f.write(str(dict2))
3.调用对象
代码如下(示例):
# 创建AI对象
AI = Account_Information()
# 写一个循环反复写入数据
while True:
AI.input_ai()
AI.input_word()
AI.bao_cun()
brr_ak = input('是否继续输入 yes/no')
if brr_ak == 'no':
break
二. 账号查询
以上py文件实现了写入数据,以下是查询账号文件,查询用户账号是否存在。
读者可以通过以上代码思路自己 实现查询用户名称
while True:
name = input('请输入你要查找的账号')
f = open('账户信息.txt', encoding='utf-8')
list1 = f.readlines()
# print(len(list1))
for i in list1:
index = i.find(name)
index1 = index + 10
# 定位账号的位置
str1 = i[index:index1]
if name in str1:
print(f'您查找的{name}存在我们系统')
break
else:
print('您查找的用户不存在!')
总结
本篇文章讲述了账号读取写入的 *** 作,可以对刚学python基础的读者提供一些思路。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)