2014-03-06 33 views
-1

我試圖創建一個基本程序,要求用戶輸入並重新輸入密碼。如果匹配,則會打印「創建密碼」。如果沒有,它將繼續要求用戶重試,直到密碼匹配。(Python)創建一個基本的「輸入密碼」程序

這是我到目前爲止;我知道一個循環,至少需要一個其他的「if」語句,但我不知道該怎麼做。

password=raw_input("please select a password") 
password_again=raw_input("please re-type your password") 
loop=raw_input("Password does not match. Please try again") 
if password_again==password: 
     print("password created") 
else: raw_input(loop) 

幫助表示讚賞!

回答

0

這是瞭解的好方法,而循環

詢問值

password=raw_input("please select a password") 
password_again=raw_input("please re-type your password") 

循環播放,直到它們匹配

while password_again != password: 
    print "They don't match please try again" 
    password=raw_input("please select a password ") 
    password_again=raw_input("please re-type your password ") 
0

這不是一個循環,使用while Truebreak

while True: 
    password=raw_input("please select a password") 
    password_again=raw_input("please re-type your password") 
    if password_again==password: 
     print("password created") 
     break 
    else: 
     print "Password does not match. Please try again" 
+0

感謝球員,這是怎麼不同於pynewbies碼(W/O型休息聲明)? – dyao

+0

他們都工作,並有更多的方法來完成你正在尋找的東西。我選擇不使用一段時間的真正循環,因爲我認爲他們需要更多時間來習慣。 – PyNEwbie

+0

@ user3386440他們用不同的控制流做同樣的事情,PyNEwbie的代碼更像是C/Cpp中的「do-while」循環;) – zhangxaochen

0

最簡單的方法是利用iter功能的這樣

password = raw_input("please select a password") 
for re_password in iter(raw_input, password): 
    print "Password does not match. Please try again :", 
print "Password accepted!" 
+0

對於OP來說可能有點難以理解;) – zhangxaochen

+1

@zhangxaochen那麼,我們都必須每天學習新東西:)我們可以幫助他了解他是否在閱讀文檔後詢問問題:) – thefourtheye

0

我想用getpass模塊的將是一個明智的決定:會提示用戶輸入密碼,而不回顯

from getpass import getpass 

print "Please select a password: " 
passwd = getpass() 

print "Please re-type your password: " 
if passwd == getpass(): 
    print "password created" 
else: 
    print "Password does not match. Please try again" 

輸出:

Please select a password: 
Password: 
Please re-type your password: 
Password: 
Password does not match. Please try again 
+0

當我嘗試結果時收到錯誤消息,因此您應該解決這個問題我認爲警告(來自警告模塊): GetPassWarning:無法控制終端上的回顯文件「C:\ Program Files \ PYTHON \ lib \ getpass.py」,第92行 return fallback_getpass(prompt,stream) 警告:可能會回顯密碼輸入。 密碼: – PyNEwbie