Python 2.7随机代码

use*_*766 2 python random python-2.7

在python 2.7中,我试图创建一个程序,它将生成一个介于100000和999999999之间的随机数,然后将其发送给用户的电子邮件.到目前为止,它创建了一个随机数,然后将其发送给用户电子邮件,但是当用户键入其代码时,它始终打印不正确.我怎样才能解决这个问题?

    code = random.randrange(100000, 99999999)

    entry = getpass.getpass('Code: ')
    if entry == code:   
        print 'Welcome!'
    else:
        print 'Incorrect!'
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 5

您将int对象(由random.randrange生成)与str对象(由getpass.getpass返回)进行比较; 产量总是假的.

>>> 1 == '1'
False
Run Code Online (Sandbox Code Playgroud)

转换code为str.

>>> str(1) == '1'
True
Run Code Online (Sandbox Code Playgroud)

或者您可以转换entry为int.但是,你应该检查条目只包含数字或应该捕获ValueError.