[英]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.