如何让程序要求用户输入长度,并使用输入的内容来制作用户想要的密码

问题描述 投票:0回答:2
#random password generator
import random
unified_code = "awertyuiosqpdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!@#$%^&*()_+"

passlength1=input("how long should your password be")
pass_length2=input("how long should your password be")

def generatrandompaassword():
    length = random.randint(passlength1,pass_length2 )

    password = "" 

    for index in range(length):
        randomCharacter = random.choice(unified_code)
        password = password + randomCharacter



    return password

passworder = generatrandompaassword()
print(passworder)
print("This is your new password")

由于某种原因,这不会让我发布什么是评论

这是我几天前开始使用Python时编写的代码,所以我对它还很陌生

我尝试放入一个变量,而不是询问用户输入并将输入插入到程序中,然后使用它来查找密码应该有多长的长度可以得到帮助吗?

python function variables user-input password-generator
2个回答
1
投票

我重写了你的代码。 您可以阅读评论以了解发生了什么。 本质上,我们有一个将在密码中使用的字符列表。 然后,我们询问用户密码的长度,并将其转换为数字。 之后,我们循环遍历长度并向密码添加随机字符。

import random
characters = "awertyuiosqpdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!@#$%^&*()_+"

# Get the length of the password, and cast it to an integer so it can be used in the for loop ahead
length = int(input("how long should your password be? "))

def generatrandompaassword():
    password = ""

    # For every character in the password, get a random character and add that to the password
    for i in range(length):
        password += random.choice(characters)

    return password

# Get the password
password = generatrandompaassword()
print("This is your new password: " + password)

0
投票

代码 - 您的代码需要进行细微更改

# random password generator
import random
unified_code = "awertyuiosqpdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!@#$%^&*()_+"

pass_length1 = int(input("What should be the min length your password be: "))
pass_length2 = int(input("What should be the max length your password be: "))

def generatrandompaassword():
    length = random.randint(pass_length1, pass_length2 )
    password = "" 
    for index in range(length):
        randomCharacter = random.choice(unified_code)
        password = password + randomCharacter
    return password

passworder = generatrandompaassword()
print(passworder)
print("This is your new password")

您从用户收到的输入是

str
类型,因此您需要将其转换为
int
数据类型。

输出


What should be the min length your password be: 5
What should be the max length your password be: 15
vyA7ROviA
This is your new password

建议:

  • 坚持使用
    _
    或驼峰式。
    pass_length1
    randomCharacter 
    有两种风格。
  • 尽量让你的函数名称易于理解。使用
    generate_random_password
    而不是
    generatrandompaassword
  • 前后给
    =
    留出一些空间。

阅读一些有关 python PEP 标准的内容,以使您的代码更具可读性。

© www.soinside.com 2019 - 2024. All rights reserved.