pythonは簡単なログインシステムを実現します。
初心者です。簡単なものですが、長くいじりました。
多くの不完全なところでは、例えばユーザーをロックすると、同じユーザが3回も間違えてパスワードを入力するとロックされますが、2回目で3回目にユーザを変えて元のユーザを入力するとカウントが再計算されます。
また、存在しないユーザがパスワードを入力しても、誤った回数が多すぎるとロックされ、ロックされたユーザを作成することができます。
解決方法は専用のファイルに専用のカウント変数を追加してblocklistというファイルを捨てましたが、どうやって操作するか分かりませんので、とりあえず残しておきます。
pythonはCのようなmain関数がないですが、プログラムの入り口として、とりあえず一つ作ってみました。分かりやすいです。
多くの不完全なところでは、例えばユーザーをロックすると、同じユーザが3回も間違えてパスワードを入力するとロックされますが、2回目で3回目にユーザを変えて元のユーザを入力するとカウントが再計算されます。
また、存在しないユーザがパスワードを入力しても、誤った回数が多すぎるとロックされ、ロックされたユーザを作成することができます。
解決方法は専用のファイルに専用のカウント変数を追加してblocklistというファイルを捨てましたが、どうやって操作するか分かりませんので、とりあえず残しておきます。
pythonはCのようなmain関数がないですが、プログラムの入り口として、とりあえず一つ作ってみました。分かりやすいです。
'''
:
1、
2、
3、 '''
flag=True #
def createuser():
f=open('userlist.txt','r')# ,
flag=True
name=f.readlines()
f.close()
while flag:
username=input('username:')
flag2=False#
for line in name:
if(username==line.split('*')[0]):
flag2=True
print(" , ")
if flag2!=True:
f=open('userlist.txt','a')#
f.write('
'+username)
f.write('*')
password=input('password:')
f.write(password)
f.close()
break
main()
def login():# ,
count=0# ,3
f=open('userlist.txt','r')
info=f.readlines()
f.close()
user=None#
while flag:
flag2=False
f2=open('blocklist.txt', 'r')
block_name=f2.readlines()
f2.close()
username=input('username:')
if user==None:#user ,
user=username
elif user!=username:# , ,
user=username
count=0;
for line in block_name:# ,
if username==line.strip('
'):
print(' , ')
main()
password=input('password:')
for line in info:
if(username==line.split('*')[0]and password==line.split('*')[1].strip('
')):
print(' !')
flag2=True
if flag2==False:
count+=1
print(" , ")
if count==3:# ,
print(' , ')
f3=open('blocklist.txt','a')
f3.write('
'+username)
f3.close()
count=0#
main()#
info='''
------ -----
1.
2.
3.
'''
def main():
print(info)
while flag:
i=input()
if i=='1':
createuser()
break
elif i=='2':
login()
break
elif i=='3':
exit()
else:
print(" .")
main()#
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。