研究ノートの23の例
ライブラリ管理システム
のCドライブの下にフォルダーが1つあります。その中に2つのファイルがあり、1つはすべてのユーザー登録情報(ユーザー名とパスワードを含む)を保存し、もう1つはすべてのブック名を保存し、もう1つは借りたすべてのユーザーとブック
登録を保存します。関数定義:
def register():
username = input( 'please enter username:')
password = input( 'please enter password:')
repassword = input( 'love input confirm password:')
if password=repassword:
#将注册信息录入指定的保存文件中保存
with open(r'c:\p1\book\users.txt','w') as wstream:
wstream.write('{} {}\n'.format(username,password)
print('注册成功!')
else:
print('两次输入密码不一致!')
ログイン関数の定義:
def login():
username=input('请输入用户名:')
password=input('请输入密码:')
if username and password: #判断是否输入非空
input_user='{} {}\n'.format(username,password) #方便后续比较验证
#输入完成后需要检查是否与数据库中一致,若一致登录成功,否则登录失败,重新输入登录
with open(r'c:\p1\book\users.txt') as rstream:
while True#此处用户注册信息有可能不在第一行,所以需要多次读取数据库中数据
user=rstream.readline()
if not user: #user is not错误写法,本以为读取到最后一行还没验证ok
print('用户名或密码输入有误,请重新输入:')
break
#else: 此处不用加else,因为读到内容会直接跳出上一个if
if input=user:
print('登录成功!')
break
#else:
#continue这俩也不需要
ブック名トラバーサルの関数定義を記述:
def book():
print( '------------- Books have:-----------')
with open(r ' c:/p1/book/books.txt ')as rstream
books = rstream.read()
for book in books:
print(' Books have: ')
#Call関数:
ログイン()
登録()
本()