加入随机在我的密码生成脚本中不起作用

时间:2018-11-28 23:46:16

标签: python

我已经为一个入门项目编写了这个简单的python脚本,因为我对学习python感兴趣。目的是向用户询问所需密码的长度,然后生成该长度的安全密码。这是我的代码:

import random
import string

def randomword():
    possibles = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-=_+!@#$%^&*(),./<>?'
    length = int(input("Password Length: "))
    return ''.join(random.choice(possibles) for i in range(length))

def pause():
    pause = input("Hit enter to continue.")


randomword()
pause()

但是,当我运行此命令时,它会要求输入密码的长度,然后立即跳到pause()函数,如下所示:

Password Length: 10 Hit enter to continue.

任何帮助将不胜感激。 :)

2 个答案:

答案 0 :(得分:1)

在您的代码中,pause之后立即调用randomword。它不是randomword的跳过部分,而是在执行它。当它返回一个值时,对该值不做任何事情。您必须添加print语句才能查看返回的结果,如下所示:

import random
import string

def randomword():
    possibles = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890- 
=_+!@#$%^&*(),./<>?'
    length = int(input("Password Length: "))
    return ''.join(random.choice(possibles) for i in range(length))

def pause():
    pause = input("Hit enter to continue.")


print(randomword()) #Notice the print statement here
pause()

此外,如评论中所述,该程序也不是完全安全的。

答案 1 :(得分:1)

您也可以这样做

9270 1000 0000 0000 0000 00 EA 000 000 000 US