例如{"username":"admin","passwd":"123456"} 1.設計1個登陸的程序, 不同的用戶名和對成密碼存在個字典裏面, 輸入正確的用戶名和密碼去登陸, 2.首先輸入用戶名,如果用戶名不存在或者爲空,則一直提示輸入正 確的用戶名 3.當用戶名正確的時候,提示去輸入密碼,如果密碼跟用戶名不對應, 則提示密碼錯誤請重新輸入。 4.如果密碼輸入錯誤超過三次,中斷程序運行。 5.當輸入密碼錯誤時,提示還有幾次機會 6用戶名和密碼都輸入正確的時候,提示登陸成功! 檸檬班解法一:
def user_login():
login_info={"username":"admin","passwd":"123456"}
name=input("請輸入你的登錄名:")
while name!=login_info['username']:
name=input("你剛剛輸入的用戶名不存在,請重新輸入:")
password=input("請輸入你的密碼:")
pwd_num=3#初始值
while password!=login_info['passwd']:#123456
pwd_num-=1#每輸出一次就減去1
if pwd_num>0:
print("你還有%s次密碼輸入的機會"%pwd_num)#格式化輸出
password=input("你剛剛輸入的密碼錯誤,請重新輸入:")
continue
elif pwd_num==0:
print("你輸入密碼錯誤過多,用戶已經被凍結")
break
if name==login_info['username'] and password==login_info['passwd']:
print("登錄成功!")
user_login()
檸檬班解法二:
def user_login():
info={"username":"admin","passwd":"123456"}
name=input("請輸入登錄用戶名:")
while name!=info['username'] or name=='':
name=input("輸入錯誤,請輸入登錄用戶名:")
num=3
while num>0:
pwd=input("請輸入登錄密碼:")
if pwd==info['passwd']:
print("登錄成功!")
num=0#此處重置num的值
elif pwd=='' or pwd!=info['passwd']:
num-=1
if num==0:
print("輸入錯誤的密碼次數超過3次,賬戶已被凍結")
else:
print("密碼不正確!你還有%s次密碼輸入機會"%num)
user_login()
我的解法:user_1 = {'username': 'admin', 'password': 'admin123'}
user_2 = {'username': 'erduo', 'password': 'erduo123'}
user_3 = {'username': 'guest', 'password': 'guest123'}
users = [user_1, user_2, user_3]
active_2 = True
while active_2:
username = input('請輸用戶名:')
for i in range(len(users)):
u = users[i]['username']
p = users[i]['password']
if username == u:
active_1 = True
num = 3
while active_1:
password = input('請輸入密碼:')
if password == p:
print('登錄成功 ')
active_1 = False
else:
num = num - 1
print('密碼錯誤,還有' + str(num) + '次機會')
if num == 0:
active_1 = False
active_2 = False
break
else:
print('請輸入正確用戶名')
break
HC寫的--->加上我的,,放出來,,接受批評批評!!不接受點贊哼!
user_1 = {'username':'admin','password':'123456'}
user_2 = {'username':'erduo','password':'123456'}
user_3 = {'username':'guest','password':'123456'}
users = [user_1,user_2,user_3]
while True:
username = input("輸入賬號:")
for user in users:
if username == user['username']:
num = 3
while True:
password = input('請輸入密碼:')
if password == user['password']:
print('登錄成功')
break
else:
num = num - 1
print('密碼錯誤,還有'+str(num)+'次機會')
if num == 0:
break
break
else:
print('賬號不存在')
continue
break
羊羽衣的解法:
if __name__ == '__main__':
# session 裏面的 dict 可以自己添加,作爲已有的用戶信息
session = [{"username": "admin", "password": "123456"},
{"username": "jack", "password": "123"},
{"username": "tom", "password": "456"},
{"username": "amy", "password": "135"},
]
while True:
while True:
username = str(input('請輸入用戶名: '))
for user_information in session:
if username == user_information['username']:
password = user_information['password']
break
else:
continue
count = 3
for i in range(count):
input_password = str(input('請輸入密碼: '))
if input_password == password:
break
else:
if count - i - 1 != 0:
print('密碼錯誤,請重新輸入密碼 --> 還有{}次機會'.format(count - i - 1))
else:
break
print('登錄成功')
break
break
ps:之所以放這麼多代碼就是要看暈你~!