비밀번호 생성기를 만들었습니다. 16 개이므로 가장 좋지 않을 수 있습니다. 그리고 8 0을 출력하고 01100101을 입력 한 다음 비밀번호를 출력합니다. FG4v10Y6과 같이 암호에 "10"이 있으면 다른 문자를 추가하므로 FG4v10Y6이 FG4v10Y6M이 될 수 있으므로 FG4v10Y6은 9 개 이상의 문자가 있으므로 "10"이 몇 개인 지에 따라 다릅니다.내 비밀번호 생성기에 문제가 있습니다
왜 이런 일을하는지 잘 모르겠습니다. 고마워!
import pygame
import random
pygame.init()
#letters
reg = ['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']
CAP = ['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']
final_pass = []
num_let_list = []
new_list = []
i = 0
file = open("password_test","w")
def num_list_gen(num_list):
for i in range(8):
num_let_list.append(random.randint(0,1))
i += 1
for each in num_let_list:
each = str(each)
new_list.append(each)
print ''.join(new_list)
def CAP_reg_num(final_pass,num_let_list,CAP,reg):
for each in num_let_list:
if each == 0:
cap_reg = random.randint(0,1)
if cap_reg == 0:
let1 = random.randint(0,25)
final_pass.append(reg[let1])
if cap_reg == 1:
let1 = random.randint(0,25)
final_pass.append(CAP[let1])
if each == 1:
num1 = random.randint(0,10)
num1 = str(num1)
final_pass.append(num1)
def main(CAP,reg,num_let_list,final_pass):
num_list_gen(num_let_list)
CAP_reg_num(final_pass,num_let_list,CAP,reg)
print ''.join(final_pass)
file.write(''.join(final_pass))
file.close
main(CAP,reg,num_let_list,final_pass)
왜 일부 코드는 코드에서 이상하게 나왔고 어떻게 수정합니까?
나는 당신이 요구하는 것을 이해하는지 잘 모르겠습니다. 문제는 단지 줄'num1 = random.randint (0,10)'이 0에서 10까지의 값을 반환합니다 (종점 포함)? [문서화 됨] (http://docs.python.org/2/library/random.html#random.randint)입니다. 더 높은 값을 포함하고 싶지 않으면'random.randrange'를 시도하십시오. – Blckknght