簡體   English   中英

Python 2.7隨機代碼

[英]Python 2.7 Random Code

在python 2.7中,我試圖創建一個程序,該程序將生成一個介於100000和999999999之間的隨機數,然后將其發送給用戶電子郵件。 到目前為止,它會創建一個隨機數,然后將其發送給用戶電子郵件,但是當用戶鍵入他們的代碼時,它始終會打印錯誤。 我怎樣才能解決這個問題?

    code = random.randrange(100000, 99999999)

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

您將int對象(由random.randrange生成)與str對象(由getpass.getpass返回)進行比較; 產量總是假的。

>>> 1 == '1'
False

code轉換為str。

>>> str(1) == '1'
True

或者,您可以將entry轉換為int。 但是然后,您應該檢查條目僅包含數字,還是應該捕獲ValueError。

出於同樣的原因, 4 == '4'False 您需要比較類似的數據類型。

if int(entry) == code

要么

if entry == str(code)

(也是randrange ,不是randomrange

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM