pythonは簡単なログインシステムを実現します。


初心者です。簡単なものですが、長くいじりました。
多くの不完全なところでは、例えばユーザーをロックすると、同じユーザが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()#
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。