見出し画像

PW作成ツールを簡略化

以前Pythonで作成したPW作成ツールを公開しましたが、
根本的に「面倒じゃね?」と思ったので、めちゃかんたんにしました←

import random
import re


def restart():
   while True:
       replay = input("もう一度やりますか?(y or n)>>>")
       if replay != "y" and replay != "n":
           print("yかnで答えてください")
           continue
       break
   if replay == "y":
       return True
   else:
       return False


def digiterror():
   print("8~16の数字を入れてください。")


while True:
   print("PW自動作成プログラムです。")
   while True:
       try:
           digit = int(input("桁数を入れてください(8~16)>>>"))
       except ValueError:
           digiterror()
           continue
       if digit < 8 or digit > 16:
           digiterror()
           continue
       break
   print("PWが表示されるまでお待ち下さい。")
   while True:
       pwlist = []
       index = 0
       small = list("abcdefghijklmnopqrstuvwxyz")
       big = list("abcdefghijklmnopqrstuvwxyz".upper())
       while True:
           fact = random.randint(0, 3)
           if fact == 0:
               num = random.randint(0, 10)
               numstr = str(num)
               pwlist.append(numstr)
               index += 1
           elif fact == 1:
               string = random.choice(small)
               pwlist.append(string)
               index += 1
           else:
               string = random.choice(big)
               pwlist.append(string)
               index += 1
           if index == digit:
               break
       pw = ''.join(pwlist)
       if len(re.findall('[a-z]', pw)) == 0 or len(re.findall('[A-Z]', pw)) == 0 or len(re.findall('\d', pw)) == 0:
           continue
       break
   print("PW:" + pw)
   replay = restart()
   if replay == False:
       break

input("Enterで終了")
スクリーンショット (1)

以上ですヽ(`▽´)/

記事をご覧頂きまして、まことにありがとうございます。 「缶コーヒーの差し入れ」くらいの気持ちでサポートをしてくれされば とても励みになります。