Pythonでのパスワードジェネレーターについて
Python初心者です。 練習のためにパスワードジェネレーターを作っていました。
しかし、パスワードの桁数を53桁以上にするとエラーが発生してしまいます
解決方法を教えてください
よろしくお願いします
エラー内容
パスワード生成を行います 桁数を入力してください: 53 Traceback (most recent call last): File "C:\User\hayao\password.py", line 13, in <module> password = password + moji[random.randint(1,len(moji)) ] IndexError: list index out of range
該当のソースコード(Python 3系)
Python
1print ("パスワード生成を行います") 2 3import random 4ketasuu = 0 5ketasuu_kari = 0 6moji = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] 7 8ketasuu_kari = input("桁数を入力してください: ") 9ketasuu = int(ketasuu_kari) - 1 10 11if ( ketasuu < 8 ) : 12 print ( str(ketasuu_kari) + "桁では短いため使用しないことをおすすめします") 13 14ransuu = random.randint(1,len(moji)) 15password = moji[int(ketasuu)] 16for i in range(int(ketasuu)) : 17 password = password + moji[random.randint(1,len(moji)) ] 18 19print (password)
試したこと
ググったところ「配列に存在しないインデックス番号が指定されている」とのことだったので len(moji) を 使用してみたのですが変わりませんでした
補足情報(FW/ツールのバージョンなど)
Windows 10 Pro 1803
Python 3.6.5
Visual Basic Code にて作成
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/07 14:06